home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-05-27 | 140.3 KB | 3,174 lines |
-
-
-
-
-
-
-
-
-
-
-
-
- HYPERGEO
- Version 1.1
-
-
-
-
-
- A program for the investigation of the geometrical
- properties of four-dimensional hyperspace.
-
-
-
-
-
-
-
-
-
- USER'S GUIDE AND PROGRAM REFERENCE MANUAL
-
-
-
-
-
-
-
-
-
-
-
-
-
- Stuart Esten
-
- 33 Banks Avenue
- Lexington, MA 02173
- USA
-
-
- HYPERGEO Version 1.1 Page ii
-
-
-
-
-
-
-
-
-
-
- COPYRIGHT NOTICE
-
-
- HYPERGEO is Copyrighted (c) 1992 by Stuart Esten.
-
- This document is Copyrighted (c) 1992 by Stuart Esten.
-
- ALL RIGHTS RESERVED.
-
-
-
-
-
-
-
-
-
- DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES
-
-
- Due to the nature of computer programming it is impossible to
- guarantee the performance of this product. The author makes no
- warranty, expressed or implied, in regard to this program and its
- accompanying data files and documentation. In no event shall the
- author of this program be liable for incidental or consequential
- damages relating to or arising out of its use.
-
-
- HYPERGEO Version 1.1 Page iii
-
-
-
-
-
-
-
-
- LICENSE
-
-
- HYPERGEO is a copyrighted computer program. It is not public domain
- or free software.
-
- Copies of the program are made available on a trial basis to
- prospective users according to the distribution system known as
- "shareware". Persons acquiring a shareware copy of HYPERGEO are
- granted a limited license to use the program for an evaluation
- period not to exceed 30 days. At the end of that time they must
- either become registered users of HYPERGEO by paying the requisite
- registration fee or cease using the program. Recipients of the
- shareware copy of HYPERGEO may make duplicate copies of the program
- material for the express purpose of distribution to other
- prospective users, provided that:
-
- * Each copy contains all HYPERGEO program files, data files,
- and documentation files complete and unmodified;
-
- * No payment is charged for the shareware copies beyond normal
- charges for the cost of the diskette and its shipment and
- handling.
-
-
- Registered users of HYPERGEO are granted license to use the software
- without time limit on a single computer. A registered copy of the
- HYPERGEO program material may not be duplicated other than for
- back-up purposes. A registered copy of HYPERGEO may not be
- distributed to others.
-
-
- HYPERGEO Version 1.1 Page iv
-
-
-
-
-
-
- _______
- ____|__ | (R)
- --| | |-------------------
- | ____|__ | Association of
- | | |_| Shareware
- |__| o | Professionals
- -----| | |---------------------
- |___|___| MEMBER
-
-
-
-
-
-
-
- ASSOCIATION OF SHAREWARE PROFESSIONALS OMBUDSMAN POLICY
-
-
- This program is produced by a member of the Association of Shareware
- Professionals (ASP). ASP wants to make sure that the shareware
- principle works for you. If you are unable to resolve a
- shareware-related problem with an ASP member by contacting the
- member directly, ASP may be able to help. The ASP Ombudsman can
- help you resolve a dispute or problem with an ASP member, but does
- not provide technical support for members' products. Please write
- to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 or
- send a CompuServe message via CompuServe Mail to ASP Ombudsman
- 70007,3536.
-
-
- HYPERGEO Version 1.1 Page v
-
-
-
-
- Table of Contents
-
-
- Section 1. Introduction....................................... 1-1
-
- Section 2. From Hyperspace to the Video Screen................ 2-1
- 2.1 From Four Dimensions to Three.................. 2-1
- 2.1.1 Projection................................. 2-1
- 2.1.2 Intersection............................... 2-2
- 2.2 From Three Dimensions to Two................... 2-2
-
- Section 3. The HYPERGEO Program............................... 3-1
- 3.1 General Structure.............................. 3-1
- 3.2 The HYPERGEO Display Screen.................... 3-3
- 3.3 Geometry Manipulations......................... 3-6
- 3.3.1 Rotations.................................. 3-7
- 3.3.2 Translation of the Intersecting Hyperplane. 3-10
- 3.3.3 View Control............................... 3-11
- 3.4 Special 3-D Geometry Definition................ 3-12
-
- Section 4. Inner Workings..................................... 4-1
- 4.1 Units.......................................... 4-1
- 4.2 Verification of the Geometry Definition........ 4-1
- 4.3 Calculating 4-D to 3-D Projections............. 4-2
-
- Section 5. Restrictions and Limitations....................... 5-1
- 5.1 Geometry Definition File....................... 5-1
- 5.2 Mathematical Precision......................... 5-2
-
- Section 6. Supplied Geometry Definition Files................. 6-1
-
- Appendix A. Geometry Definition File........................... A-1
-
- Appendix B. Configuration File................................. B-1
-
- Appendix C. Command Line Arguments............................. C-1
-
- Appendix D. Interactive Commands............................... D-1
- D.1 Keyboard Commands and the Modifier Keys........ D-1
- D.2 Mouse Selected Interactive Commands............ D-2
- D.3 Interactive Parameter Specification............ D-3
- D.4 HYPERGEO Interactive Keyboard Commands......... D-4
-
- Appendix E. Running HYPERGEO under Microsoft Windows........... E-1
-
- Appendix F. Registration Form.................................. F-1
-
-
- HYPERGEO Version 1.1 Page 1-1
-
-
-
-
- Section 1. Introduction
-
-
- "I tried turning the hypercube around, moving it away, bringing
- it up close, turning it around another way. Suddenly I could
- feel it! The hypercube had leaped into palpable reality, as I
- learned how to manipulate it, feeling in my fingertips the power
- to change what I saw and change it back again. The active control
- at the computer console created a union of kinesthetics and visual
- thinking which brought the hypercube up to the level of intuitive
- understanding."
-
- "The Mathematical Experience"
- Philip J. Davis & Reuben Hersh
-
-
-
- For reasons known only to the Great Cosmic Programmer, the universe in
- which we dwell possesses three spatial dimensions. Our senses of
- physical perception operate intuitively and naturally in these three
- dimensions. Indeed, it requires an act of intellectual imagination
- to consider the nature of alternative dimensional realities. With some
- contrivance we can picture the peculiar qualities of a world aware of
- only two dimensions. This is the substance of Edwin Abott Abott's
- famous fantasy "Flatland" (written from the viewpoint of Abott's two-
- dimensional narrator A Square). We can make the mental adjustment
- required to conceive of a two-dimensional universe by imagining one of
- our three dimensions to be somehow squeezed down to zero extent and thus
- out of existence. It is a simple matter to draw pictures of
- two-dimensional objects; in fact, the nature of writing surfaces and
- writing implements is such that all our drawings are already limited to
- two dimensions (it is only the insistently three-dimensional nature of
- our sense of sight that causes us to "see" depth in our flat artwork).
- Perceptions in two dimensions are accessible because they already exist
- within our three-dimensional space and because we have at hand ready
- physical analogs in the form of flat surfaces of solid objects.
-
- In "Flatland", Abott makes his narrator aware of the existence of
- three-dimensional "Spaceland" although A Square is unable to fully
- conceive of its nature. He further contemplates the analogous
- relationship between Spaceland and a still higher universe possessing
- four dimensions. In this scenario we, the inhabitants of our familiar
- three-dimensional reality, become the Flatlanders, constitutionally
- unable to perceive the totality of the encompassing higher realm.
-
- When we try to imagine the shape and configuration of "hyperobjects" -
- that is, objects constructed in four dimensions - we are stopped short
- by the inability of our conceptual powers to find a place for the fourth
- dimension. For whatever reason, there simply is no way to twist or
-
-
- HYPERGEO Version 1.1 Page 1-2
-
-
- rearrange four separate orthogonal dimensions so they make spatial sense
- to us.
-
- Our best hope for grasping the essence of four-dimensional reality lies
- in somehow reducing the full complexity of hyperobjects to a simplified
- image that can be represented in three dimensions. Although the full
- four-dimensional "depth" of the hyperobject's geometry cannot be fully
- conveyed this way in a single image, it is possible by generating
- sequences of such images - each corresponding to a different orientation
- of the hyperobject in four-dimensional space - to begin to comprehend
- the shape of the fourth dimension. Naturally, computers and the
- capabilities of computer graphics are ideally suited for use as tools in
- generating such images, and it is well within the powers of the typical
- personal computer equipped with a standard display device to serve as a
- research platform for the investigation of hyperspace.
-
-
- HYPERGEO Version 1.1 Page 2-1
-
-
-
-
- Section 2. From Hyperspace to the Video Screen
-
-
- When a computer is used to generate images derived from a
- four-dimensional hyperobject, two separate stages of geometric
- transformation must be performed. First, the four-dimensional object
- must be reduced to a particular three-dimensional image based on the
- object's orientation and position in hyperspace. Second, the resulting
- three-dimensional image must be represented on the flat, two-dimensional
- surface of the computer's display device. Because each of these
- transformations entails the loss of dimensional information, it is
- desirable to provide the computer user with as much control as possible
- over the manner in which the images are constructed and displayed.
-
-
- 2.1 From Four Dimensions to Three
-
- There are two basic approaches for generating a three-dimensional image
- from a four-dimensional object: projection and intersection. Each is
- highly analogous to the same technique applied to the reduction of a
- three-dimensional object to a flat, two-dimensional representation.
-
-
- 2.1.1 Projection
-
- Projection is the mathematically simpler of the two. It entails the
- construction of an imaginary "viewscreen" in hyperspace and the
- projection of each point in the hyperobject onto that viewscreen. The
- calculations are performed by considering the straight lines that run
- between each point in the hyperobject and a fixed four-dimensional
- viewpoint; the desired projection points are the intersections of these
- lines with the viewscreen. But because this is four-dimensional
- hyperspace, the viewscreen is itself a three-dimensional "hyperplane"
- (not just a simple two-dimensional plane), and the projection points all
- possess three dimensions. The positions of the viewpoint and viewscreen
- in hyperspace relative to the hyperobject determine the degree of
- "perspective" in the resulting three-dimensional image. (This process
- is entirely analogous to the projection of a 3-D object onto a flat 2-D
- viewscreen; in fact, just such a 3-D to 2-D projection is used
- subsequently to generate the final graphical output.)
-
- In a 4-D to 3-D projection, every point in the original hyperobject is
- always visible as a corresponding projected point in the 3-D image
- (although, of course, a point may from time to time happen to be hidden
- behind other points or lines). The overall 3-D image that results is a
- network of connected lines corresponding to the vertexes and edges of
- the 4-D hyperobject; it is not itself a simple 3-D polyhedron. The
- complexity of this network relates directly to the four-dimensional
- structure of the hyperobject.
-
-
- HYPERGEO Version 1.1 Page 2-2
-
-
- 2.1.2 Intersection
-
- The second approach for reducing a four-dimensional hyperobject to a
- three-dimensional image involves calculating the intersection of the
- hyperobject with a three-dimensional hyperplane. This can be thought of
- as cutting a "slice" through the hyperobject and viewing the resulting
- cross-section. But again, because the cutting instrument is a
- hyperplane in the case of the 4-D to 3-D intersection, the object that
- is determined by the cut is three-dimensional and forms a simple 3-D
- polyhedron - assuming that the original 4-D hyperobject is itself simple
- and is externally convex. (The 3-D to 2-D analogy involves making a
- planar cut through the 3-D geometry and viewing the flat polygonal
- outline of the cross-section.)
-
- In a 4-D to 3-D intersection, the only portion of the hyperobject that
- contributes to the 3-D image is that lying exactly on the intersecting
- hyperplane; all the rest is lost and invisible. For this reason, an
- intersection can result in very minimal 3-D polyhedra such as pyramids
- and box shapes, even from a complex hyperobject. In fact, if the
- intersecting hyperplane is positioned (in hyperspace) entirely outside
- the extents of the hyperobject, the resulting 3-D image will be empty.
- It is generally most revealing to examine the sequence of intersections
- that result when the cutting hyperplane is gradually moved through the
- hyperobject, starting at one face or edge and working across to the
- opposite. By taking a number of such sequences for various orientations
- of the hyperobject in four-space, the user can achieve a sense of its
- "extradimensional" structure.
-
-
- 2.2 From Three Dimensions to Two
-
- All the options available in the HYPERGEO program for converting a
- three-dimensional image into a viewable two-dimensional picture on the
- computer's display are variations of the projection technique referred
- to above. Each 3-D point is projected onto a 2-D viewscreen by
- calculating where the line that runs between the 3-D point and a fixed
- 3-D viewpoint intersects the viewscreen. However, unlike the case for
- 4-D to 3-D projections, for 3-D to 2-D projections the viewscreen and
- viewpoint don't have to be invented; they correspond to the surface of
- the real display device and the eye of the (presumably real) viewer.
- Given this basic technique for projecting a 3-D image onto a flat
- screen, a great deal can be done to enhance the meaningfulness of the
- resulting 2-D picture. The following alternatives are available:
-
-
- * Orthographic Projection
-
- This is the simplest and least revealing form of 2-D image. It is
- generated by assuming the viewpoint to be at infinity and projecting
- all 3-D points orthogonally onto the screen. The resulting picture
- is a "wire-frame" representation of the 3-D object's edges.
-
-
- HYPERGEO Version 1.1 Page 2-3
-
-
-
- * Perspective Projection
-
- This is a straightforward linear projection similar to orthographic
- except that it uses a finite value for the distance between the
- viewpoint and the screen. It also generates a wireframe
- representation but provides a sense of perspective which gives some
- sense of 3-D depth. It is enhanced by allowing the user to modify
- the apparent eye-to-screen distance, thus adjusting the amount of
- perspective in the picture.
-
-
- * Stereoscopic Projection (Anaglyph)
-
- This uses the realistic eye-to-screen distance of the simple
- perspective approach, but two separate images are generated which
- correspond to the projections as perceived by the right and left eye
- (the calculation of the projections takes into account the
- distance between the eyes). When the two images are displayed in
- contrasting colors (typically red and blue or red and green), they
- can be viewed through filtering "3-D" glasses which cause the brain
- to perceive the image with full three-dimensional depth. Although
- wearing the colored glasses is somewhat cumbersome, this method
- produces far and away the most vivid and revealing impressions of
- the structure of the 3-D object.
-
- (The general technique of generating dual projections that
- correspond to each eye's separate view is known as "stereoscopic"
- projection. The particular instance of stereoscopic viewing that
- uses different colors for the two projections with matching colored
- filters for the eyes is called an "anaglyph".)
-
-
- * Hidden-line Projection
-
- This approach begins with the wire-frame representation generated by
- a normal perspective projection. Additional calculations are
- performed that prevent the display of any edge lying behind a face
- of the 3-D object. This causes the object to appear opaque. The
- calculations required to determine which edges (or portions of an
- edge) to hide are extensive and slow the program down considerably.
-
-
- * Solid Projection
-
- A solid projection performs all the processing required by a
- hidden-line projection plus some additional calculations to
- determine the orientation of each visible face of the 3-D object.
- Rather than drawing the edge outlines of the object, the faces are
- filled in using either a density of fill pattern or a particular
-
-
- HYPERGEO Version 1.1 Page 2-4
-
-
- shade of color that corresponds to the obliqueness of the face as
- seen from a theoretical light source; faces that are most directly
- illuminated are filled the brightest. The result is a fairly
- realistic rendering of the 3-D object as solid. The calculations
- required make solid projections even slower than hidden-line
- projections.
-
-
- (Note: since hidden-line and solid projections require the 3-D
- object to be a simple polyhedron, they can only be used with 3-D
- images created by a 4-D intersection, not those created by 4-D
- projections.)
-
-
- HYPERGEO Version 1.1 Page 3-1
-
-
-
- Section 3. The HYPERGEO Program
-
-
- HYPERGEO is a program written for the IBM-PC and compatible computers
- running the PC-DOS or MS-DOS operating system. It requires about 180K
- bytes of memory plus whatever is needed for the data requirements of the
- particular geometry currently active in the program. For most ordinary
- objects (including the basic hypercube) memory requirements are quite
- modest, but they can increase tremendously for very large and complex
- four-dimensional geometries. The program does not make use of expanded
- or extended memory, so the 640K DOS barrier is the absolute limiting
- factor on the size of geometries that can be handled by HYPERGEO.
-
- The program will generate graphical output for EGA, VGA, or Hercules
- display devices. It does not support CGA graphics. For Hercules (and
- optionally for the others) the graphics are monochrome, and the
- stereoscopic anaglyph display mode is unavailable. The performance of
- HYPERGEO is identical on EGA and VGA systems with the exception of two
- areas in which the VGA's higher performance is utilized: first, all
- graphics are drawn with the higher VGA display resolution (640x480
- pixels); and second, the enhanced VGA color capabilities are used to
- provide superior solid surface rendering. No non-standard, so-called
- "super-VGA" display modes are supported in this version.
-
- HYPERGEO performs extensive floating-point calculations, and the speed
- of the program will be enhanced considerably by the presence of a math
- coprocessor chip such as an 80287 or 80387. If the system has a math
- coprocessor, HYPERGEO will detect its presence automatically. All
- features are functional without a coprocessor, but performance will be
- as much as several times slower.
-
- If a mouse pointing device is on the system, it can be used to invoke
- the interactive rotation commands (see below). However, a mouse is not
- required since all commands can be executed through keyboard entry.
- Only the left and right mouse buttons are used, so a two-button mouse is
- as good as a three-button mouse.
-
-
- 3.1 General Structure
-
- The HYPERGEO program accepts a description of the topology of a
- four-dimensional hyperobject. This description is contained in a
- "geometry definition file" which is a plain text file that can be edited
- by the user. It contains coordinate information for each vertex point
- of the hyperobject plus connectivity information that indicates which
- vertexes are joined by edges. See Appendix A for a complete discussion
- of the format of this file. The program analyzes the topology and
- determines which edges form external faces and, in turn, which faces
- form external hyperfaces.
-
-
- HYPERGEO Version 1.1 Page 3-2
-
-
- The program also accepts various parameters that control the manner in
- which the hyperobject is displayed. There are two ways in which these
- parameters are given to the program: through a special configuration
- file or as command-line arguments. (Note: There is not a complete
- correspondence between all possible configuration file parameters and
- all possible command-line arguments. Some parameters can be specified
- only in the configuration file and some only as command-line arguments.)
- See Appendix B for a full description of the format of the configuration
- file and Appendix C for a description of the available command-line
- arguments.
-
- A section of configuration parameters can also be appended to the end of
- a geometry definition file following all topology information; the
- format is the same as in the primary configuration file. In effect,
- this acts as a secondary configuration file which will apply only to
- that particular geometry file.
-
- The order of precedence for conflicting parameters is as follows.
- Command-line arguments take the highest precedence and will always
- override a corresponding parameter in the configuration file. Also,
- configuration parameters contained in a geometry definition file take
- precedence over corresponding parameters in the primary configuration
- file. Finally, every parameter has a pre-defined default value which
- will be used in the absence of any specification via the configuration
- file or the command line. The default values for all parameters are
- listed in the appendixes. To summarize the order of precedence for the
- various avenues of parameter specification, they are, from highest to
- lowest:
-
- * Command line arguments
-
- * Configuration parameters in current geometry definition file
-
- * Configuration parameters in primary configuration file
-
- * Program's internal default values
-
- It should be noted that no configuration file or command-line arguments
- are absolutely required. The program will operate without them using
- reasonable default values.
-
- Once all geometry and configuration information has been read in and
- processed, the HYPERGEO program creates a display of the image of the
- hyperobject. At this point, the user has access to a set of commands
- which facilitate the interactive manipulation of the hyperobject's
- display. These interactive commands are described throughout subsequent
- sections of this document and are summarized in Appendix D.
-
-
- HYPERGEO Version 1.1 Page 3-3
-
-
-
- 3.2 The HYPERGEO Display Screen
-
- The screen displayed by the HYPERGEO program consists of two areas: the
- primary graphics area where the image of the geometrical object being
- examined is displayed, and an optional menu and mouse control pad area.
- The user may select whether or not to display the menu area. If it is
- not displayed, the primary graphics area is the entire screen. When
- the menu area is displayed, it occupies the right edge of the screen,
- and the primary graphics area fills the entire remaining screen.
-
- The menu area lists a number of display parameters that may be modified
- interactively by the user. It also contains a panel of command
- selection boxes that may be activated by the mouse to perform various
- rotations of the object being displayed. A mouse is not required for
- the HYPERGEO program; all mouse functions may also be invoked through
- keyboard commands. However, the mouse does provide a more naturally
- intuitive feeling of control over the manipulation of the geometry being
- studied. The mouse functions are only available when the menu area is
- displayed. (All keyboard commands are always available regardless of
- whether the menu area is displayed or not.)
-
- The HYPERGEO program automatically scales and centers the geometry
- display within the primary graphics area. The user may subsequently
- modify the scale and position of the display as desired.
-
- Some of the interactive commands will prompt for additional keyboard
- input (such as a numeric value, a color name, or a file name). This is
- done using a special prompting window which pops up in the middle of the
- primary graphics area. The user should type in the appropriate entry
- which will echo in the prompting window, and should terminate the entry
- by pressing <Enter>; this indicates that the entry is complete and
- correct and initiates the particular command. Pressing <Esc> at any
- time while a prompting window is displayed will dismiss the window and
- cancel the command.
-
- A similar message window will appear whenever an error condition (such
- as invalid command input) must be reported. No user input is asked for;
- the window serves only to convey a message. Once it has been read, the
- user may dismiss the window by pressing any key.
-
- A special message window is the HYPERGEO Information Window. This
- window contains some basic data describing the geometry and topology of
- the currently active object, and it also contains the HYPERGEO copyright
- statement. By default, the Information Window is displayed
- automatically upon the initial start up of the program and every time a
- new geometry definition is read in. However, the program may be
- configured to bypass this. An interactive command exists to display the
- Information Window at any time during normal operation of the HYPERGEO
- program. The Information Window is a normal message window and may be
- dismissed by pressing any key.
-
-
- HYPERGEO Version 1.1 Page 3-4
-
-
- On-line help is available at all times within the HYPERGEO program. An
- interactive command brings up the display of a help window that
- temporarily overwrites the entire screen. The help window contains a
- brief description of each of the interactive commands that the user may
- invoke to manipulate the active geometry. Pressing any key dismisses
- the help window and returns the HYPERGEO display to its previous state.
-
- Note: The HYPERGEO program does NOT use the (more or less) standard F1
- key to bring up its on-line help window. Instead it uses the '?' key.
- This frees the function keys (including F1) to accommodate other
- interactive commands.
-
- For systems with color EGA or VGA displays, the user has control over
- the colors used to draw the various components which comprise the
- overall graphical output. The colors are specified using statements in
- the configuration file and may be set to any one of the sixteen standard
- EGA colors (listed in Appendix B). In addition, the color used to draw
- the actual edge lines of the geometrical object itself can be modified
- interactively from within the HYPERGEO program. In the absence of any
- user specification, HYPERGEO uses a set of default colors which are
- believed to provide an attractive and comfortably viewable appearance
- (although, of course, such matters are subject to the contentiousness of
- individual tastes).
-
- There are eight separate components that together make up the total
- HYPERGEO display, and each can be assigned a different color:
-
- * Primary background
-
- This is the background color which covers the entire screen
- (including the optional menu area) before any graphics are
- drawn. It may be any color, but a dark shade such as black or
- the default dark gray is recommended for visibility. This is
- especially so when using the stereoscopic (anaglyph) display
- mode, which requires a dark background to produce a good 3-D
- effect. (Black is probably the most vivid in this respect, but
- dark gray is a bit easier on the eyes for extended viewing.)
-
- Default: dark gray
-
-
- * Primary foreground
-
- This is the color used to draw the actual edge lines of the
- geometrical object as it is projected onto the computer's
- display screen. This color is also used for the transient data
- values displayed in the menu area. Naturally, the primary
- foreground color should give a good contrast with the primary
- background color.
-
- Default: white
-
-
- HYPERGEO Version 1.1 Page 3-5
-
-
-
- * Menu
-
- This color is used for drawing the outlines and fixed labels of
- the data items and the mouse control pad section in the menu area
- of the HYPERGEO program. It is also used for the display of the
- name of the geometry definition file which the user may select
- to have appear in the upper, left corner of the primary graphics
- area.
-
- Default: yellow
-
-
- * Geometry axis vectors
-
- As the user rotates the geometrical object in hyperspace, the
- HYPERGEO program keeps track of the orientation of each of the
- axes of the object's original coordinate system. A projection
- onto 3-space of the unit vector drawn from the origin along each
- axis may optionally be displayed as part of the primary geometry
- graphics. This assists in visualizing the displacement of the
- original orientation of the object in all the dimensions of
- hyperspace.
-
- Default: cyan
-
-
- * Message window background
-
- This is the background color for all prompting and message
- windows.
-
- Default: brown
-
-
- * Message window text
-
- This is the text color for all prompting and message windows.
-
- Default: white
-
-
- * Help window background
-
- This is the background color used in the on-line help window.
-
- Default: light gray
-
-
- HYPERGEO Version 1.1 Page 3-6
-
-
-
- * Help window text
-
- This is the color used for the text in the on-line help window.
-
- Default: black
-
-
- Two other colors are used in the HYPERGEO primary graphics, the red and
- blue used by the stereoscopic anaglyph display. However, these colors
- are fixed by the requirements of the "3-D" viewing glasses and are not
- modifiable by the user.
-
- Color is also used in the surface rendering of the solid display mode,
- which may be used with images produced by 4-D intersections, but its use
- and configurability are complicated by the differing capabilities of EGA
- and VGA display devices. For EGA systems, the colors used for solid
- surface rendering are fixed by the program and are not modifiable by the
- user; these colors give an acceptable gradation of shades from light to
- dark and are not colors available in the sixteen standard EGA colors.
-
- For VGA, the program takes full advantage of the enhanced color
- capabilities of the display device, in particular its ability to
- generate over 256,000 discrete shades. HYPERGEO uses eight variations -
- ranging from very light to very dark - of a single VGA color to produce
- the consistent shadings necessary for realistic solid surface rendering.
- The user can specify the base color (in terms of a VGA red/green/blue
- color definition) from which HYPERGEO will generate the eight graduated
- shadings.
-
- For either EGA or VGA, the user may select not to use color for solid
- surface rendering, but to instead use variable pattern fill, which just
- uses the primary foreground color. Variable pattern fill is always used
- on monochrome systems.
-
-
- 3.3 Geometry Manipulations
-
- Central to the operation of the HYPERGEO program is the ability to
- interact with the geometry as it is being displayed and to have the
- picture on the screen respond to the user's directions. It is just this
- ability to manually manipulate the hyperobject in all four dimensions of
- hyperspace that creates a sense of "hands-on" control and establishes an
- intuitive feel for the extradimensional shape of the hyperobject.
-
- In light of the two-stage process required to capture an image of a
- four-dimensional geometrical object on a two-dimensional computer
- display screen (first, 4-D to 3-D reduction, and second, 3-D to 2-D
- projection), HYPERGEO provides interactive functions to manipulate the
- geometry both in its original hyperspace configuration (in 4-space) and
- in its reduced three-dimensional representation (in 3-space). In
-
-
- HYPERGEO Version 1.1 Page 3-7
-
-
- addition, the program allows the user to control a number of parameters
- that determine how the final 2-D picture is generated.
-
- A word or two is needed here on the subject of coordinate systems. The
- HYPERGEO program uses the letters X, Y, Z, and W to label the four
- coordinates in hyperspace. Wherever ordering is significant (as, for
- example, in the specification of coordinates within a geometry
- definition file), the order is (X,Y,Z,W). As is conventional with
- computer graphics, three-dimensional coordinate systems are
- "left-handed"; thus, the positive Z-axis points away from the viewer and
- into the screen.
-
-
- 3.3.1 Rotations
-
- The primary method of examining an object is to turn it about to view it
- from many different angles. In this manner, it becomes possible to
- discover the overall nature of something which - for whatever reason -
- is not immediately accessible in its entirety to our perceptions. In
- the HYPERGEO program, rotations in all possible directions are available
- through interactive commands, and it is possible to position the
- geometry in whatever orientation is desired.
-
- Rotations can be performed either on the 4-D geometry before it is
- reduced to a 3-D image, or on the 3-D geometry of the reduced image
- itself. The effect of the two classes of rotation is different, not
- only because of how they are handled by the HYPERGEO program, but also
- because of fundamental differences between the structure of 3-space and
- that of 4-space.
-
- In our familiar 3-space, rotations are performed about an "axis" which
- is a straight line in space. The rotation leaves all points on the axis
- unchanged while all other points in 3-space move in circles that are
- centered on the axis and that lie in a plane perpendicular to the axis.
- However, in 4-space, there are an infinite number of lines that pass
- through a given point on a plane and that are perpendicular to the
- plane. Thus when a hyperobject is rotated so that the points in a
- particular plane move in circles about a fixed point on the plane, it is
- not correct to say that the rotation takes place around an axis. It is
- most meaningful to our three-dimensional minds to think of 4-D rotations
- as being "on" or "of" a particular plane rather than being "around"
- anything. (Actually, rotations in hyperspace take place around a plane
- in the sense that for any given direction of hyperspatial rotation there
- is a plane on which no points move, namely, the plane determined by any
- two distinct lines perpendicular to the rotating plane and passing
- through the rotational centerpoint on it. This is virtually impossible
- to picture for our 3-D brains, so it is simpler to refer to such
- rotations in terms of the plane which is being rotated.)
-
- Any particular spatial orientation can be reached by performing an
- appropriate sequence of rotations of the planes determined by pair-wise
-
-
- HYPERGEO Version 1.1 Page 3-8
-
-
- combinations of the space's coordinate lines. In our 3-space there are
- three such planes: the XY-plane, the XZ-plane, and the YZ-plane. In
- hyperspace, which has four orthogonal coordinate axes, there are six
- planes that form the basis for all rotations: XY, XZ, XW, YZ, YW, and
- ZW. (In 3-space the rotations are normally referred to by the name of
- the axis around which the rotation occurs rather than the plane of the
- rotation.) HYPERGEO has interactive commands for performing rotations
- of all nine planes. For all HYPERGEO rotations, the coordinate system's
- origin is always the centerpoint; thus the origin is never moved by any
- rotation. (Note: the configuration file accepts a parameter for
- repositioning the origin within the original geometry; this in turn has
- the effect of repositioning the center of all rotations to any desired
- point in hyperspace.)
-
- All rotations in HYPERGEO are in incremental steps of the current Turn
- Angle. The value of the Turn Angle can be set by the user in the
- configuration file, and it can also be modified interactively at any
- time. Its current setting in degrees is displayed in the menu area.
- The Turn Angle can be set to a large number of degrees (say, 30 or 45)
- for rapid rotations of the object, and then reduced to a smaller value
- for fine positioning. Interactive commands exist for rotating the
- object one incremental step, through either a positive or negative Turn
- Angle, within any one of the three 3-D and six 4-D base rotational
- planes. Also, there are commands for automating any one of the possible
- modes of rotation; in these automated modes HYPERGEO continues to
- perform incremental rotations in the specified direction as rapidly as
- the computer's processing speed will allow.
-
- The HYPERGEO program provides two features to assist the user in keeping
- track of the orientation of the active object in hyperspace as it
- undergoes various rotations. First, there is the ability to display the
- projected image of all four unit vectors emanating from the origin along
- the four hyperspace coordinate axes. This provides good visual feedback
- of how the object is turning in hyperspace. Second, the menu area
- contains data fields that display the angular displacement of each
- coordinate axis from its initial, unrotated position. These
- displacement angles can vary from 0 degrees (when the axis is coincident
- with its initial alignment) to 180 degrees (indicating that it has been
- rotated to point in the completely opposite direction).
-
- It is important to understand how four-dimensional rotations of the
- hyperobject in hyperspace differ from three-dimensional rotations of the
- reduced image in normal 3-space. The critical point is that rotations
- in 4-space affect the shape and structure of the reduced 3-D image and
- do not necessarily produce directly equivalent rotations of that 3-D
- image. Rotations in 3-space, on the other hand, are performed after the
- 4-D to 3-D reduction, and they always directly rotate the 3-D image;
- they never alter its shape.
-
- To clarify this, consider what is going on as the hyperobject is turned
- in hyperspace. If the program is using 4-D to 3-D intersection mode,
-
-
- HYPERGEO Version 1.1 Page 3-9
-
-
- the slicing hyperplane will pass through varying cross-sections of the
- object, and these cross-sections will be three-dimensional polyhedra of
- varying topologies. The 3-D polyhedra themselves will not necessarily
- rotate. For the projection mode of 4-D to 3-D reduction, rotations of
- the hyperobject will have the effect of altering the pattern of the
- network of connected edges that is projected into 3-space, but the
- motion of the network will not be any simple three-dimensional rotation.
-
- This distinction - that 4-D rotations alter the shape and structure of
- the reduced 3-D image, while 3-D rotations rotate the image - while
- generally true, is, alas, not the whole story. Four-dimensional
- rotations behave differently depending on whether or not the plane of
- the rotation contains the W-axis. In HYPERGEO, 4-D to 3-D intersections
- always occur along a hyperplane that is defined by a constant W value,
- and 4-D to 3-D projections always are performed onto a hyperplane that
- is similarly defined by a constant W value. For this reason, rotations
- that occur on planes that do not contain the W-axis do not alter the
- shape of the resulting 3-D image (because they do not modify the
- W-coordinate of any points in the hyperobject). Instead, they behave
- like 3-D rotations of the corresponding plane (for example, a 4-D
- rotation of the XY-plane has the same effect as a 3-D rotation around
- the Z-axis). The net outcome of all this is that the 4-D rotations of
- the XY-, XZ-, and YZ-planes look like simple 3-D rotations and have the
- same effect on the appearance of the object's display in HYPERGEO as 3-D
- rotations around the Z-, Y-, and X-axes, respectively. The other three
- 4-D rotations (that is, of the XW-, YW-, and ZW-planes) do alter the 3-D
- image's shape and do not resemble any simple 3-D rotations.
-
- One final point is needed to complete this discussion of rotations.
- Although 4-D rotations of the XY-, XZ-, and YZ-planes look the same as
- 3-D rotations around the Z-, Y-, and X-axes, they are not treated the
- same by the HYPERGEO program. The 4-D rotations permanently alter the
- orientation of the hyperobject in 4-space as that orientation is
- calculated and remembered by the program; they are cumulative in the
- sense that each subsequent 4-D rotation takes as its initial orientation
- the one arrived at by the previous 4-D rotation. 3-D rotations, on the
- other hand, do not permanently modify the four-dimensional orientation
- of the hyperobject; rather, they serve as temporary repositionings of
- the current 3-D image in 3-space. For this reason, 3-D rotations are
- most useful as a means of examining the shape of the current 3-D image
- expressly without altering the 4-D orientation of the hyperobject that
- produced that image. A 4-D rotation performed following a sequence of
- 3-D rotations reverts back to the most recent 4-D orientation for its
- starting position since that is the permanent orientation remembered by
- HYPERGEO. The transient 3-D rotations of the reduced image are lost and
- forgotten. (It is worth noting that although the 4-D rotations may look
- like 3-D rotations, they involve the additional computational effort of
- updating the permanent 4-D database and thus are noticeably slower.)
-
- This functional distinction between 4-D and 3-D rotations is reflected
- in the way HYPERGEO reports the hyperobject's orientation. In
-
-
- HYPERGEO Version 1.1 Page 3-10
-
-
- particular, the axis displacement angles (displayed in the menu area)
- and the axis vectors (displayed in the primary graphics area) are only
- affected by 4-D rotations. During temporary, 3-D rotations, they remain
- unchanged and continue to indicate the permanent 4-D orientation from
- which the next 4-D rotation will proceed.
-
-
- 3.3.2 Translation of the Intersecting Hyperplane
-
- For the intersection mode of 4-D to 3-D reductions, the program
- calculates the three-dimensional intersection of the hyperobject with a
- hyperplane that is defined by the equation, w = k, that is, having a
- constant W coordinate value. (In four dimensions, a linear equation of
- the four coordinate variables, Ax + By + Cz + Dw = E, defines a
- hyperplane. A hyperplane can perhaps best be envisioned as a normal
- three-dimensional space that is situated in hyperspace and has zero
- extent into the fourth dimension. Our universe at any given instant can
- be considered a hyperplane in four-dimensional space-time.) The shape
- of this intersection can be varied by rotating the hyperobject; this
- approach has been discussed in the above section on rotations. However,
- the intersection can also be modified by moving the hyperplane through
- hyperspace, in particular, by moving it along the W-axis by altering the
- value for 'k' in the hyperplane's equation. The HYPERGEO program
- provides interactive commands for performing such a translation of the
- intersecting hyperplane. (It should be emphasized that the position of
- the intersecting hyperplane only has an effect in the intersection mode
- of 4-D geometry reduction; it is irrelevant when using projection mode.)
-
- Two parameters relate to the interactive translation of the intersecting
- hyperplane: the current W value of the hyperplane's equation, and the
- amount by which that value will be incremented (or decremented) for each
- translation of the hyperplane. Both of these values are displayed in
- the HYPERGEO menu area: the current W value of the intersecting
- hyperplane is called the W-INTER parameter, and the incremental step
- value is called DELTA-W. An interactive command exists that increments
- the W-INTER value by the value of DELTA-W and updates the HYPERGEO
- display accordingly. Another command serves to decrement the W value
- and thus move the intersecting hyperplane in the reverse direction. In
- addition, both parameters may be explicitly set to any desired numeric
- value using other interactive functions. The initial values of the
- W-INTER and DELTA-W parameters may also be set in the HYPERGEO
- configuration file. If W-INTER is not specified by the user in the
- configuration file, its default value is calculated as the average of
- the minimum and maximum W values for the active geometrical object thus
- centering the intersecting hyperplane within the geometry.
-
- Translation of the intersecting hyperplane is most revealing when it
- proceeds from one edge or face of the hyperobject, through its entire
- body, and on to the opposite side. A feature exists which automates
- just such a traversal of the hyperplane. It continuously increments the
- W value until the body of the hyperobject is exited. The direction of
-
-
- HYPERGEO Version 1.1 Page 3-11
-
-
- translation is then reversed and the W value is continuously decremented
- until the opposite side of the hyperobject is reached. The direction of
- translation continues to be reversed at each extreme so that the
- hyperplane passes back and forth (in hyperspace) through the entire body
- of the hyperobject. Performing such passes upon varying orientations of
- the hyperobject in hyperspace provides an excellent method for acquiring
- a sense of its four-dimensional shape. (Note: the effective speed of
- the hyperplane's motion along the W-axis can be adjusted by setting the
- DELTA-W value appropriately.)
-
-
- 3.3.3 View Control
-
- The final step in the processing chain that leads from the specification
- of the geometry of a four-dimensional hyperobject to the depiction of an
- image of that object on the computer screen is the generation of the
- two-dimensional graphical output. As described above in a previous
- section of this document, the program uses a number of variations of a
- basic 3-D to 2-D linear projection to perform this step. The user has
- access to several interactive commands with which to adjust a number of
- parameters that affect the appearance of the final display. Paramount
- among these is the output display mode.
-
- As outlined earlier, there are five possible projection modes in which
- the final graphical output can be presented: orthographic, perspective,
- stereoscopic anaglyph, hidden-line, and solid. The selection of a
- particular mode is one of the parameters which the user can modify; any
- one of the five modes can be invoked at any time (with some exceptions -
- see below). A data field in the menu area shows which mode is in
- effect. Whenever the display mode is changed, the program immediately
- redraws the representation of the current geometry using the method of
- the new mode. The basic orientation of the hyperobject remains fixed
- across any such switch in display mode.
-
- The exceptions referred to in the preceding paragraph are as follows:
- first, the stereoscopic anaglyph mode cannot be invoked on monochrome
- systems (since the anaglyph requires red and blue); and second, the
- hidden-line and sold display modes can only be selected if the 4-D to
- 3-D reduction step is using 4-D intersection, not 4-D projection (since
- 4-D projections do not produce a 3-D geometry which is a solid 3-D
- polyhedron amenable to hidden-line analysis).
-
- Two numeric parameters are key in the calculations which generate the
- graphics seen on the screen. First, the eye-to-screen distance is used
- to calculate all forms of 3-D to 2-D projection (except orthographic, in
- which the eye-to-screen distance is effectively infinite). The
- eye-to-screen distance is shown as a data item in the menu area. It can
- be adjusted up or down interactively by the user. Decreasing the
- eye-to-screen distance has the effect of enhancing the perceived degree
- of perspective in the picture, and increasing the distance reduces the
- perspective. The eye-to-screen distance can be adjusted in increments
-
-
- HYPERGEO Version 1.1 Page 3-12
-
-
- or decrements equal to 10% of its current value, or it can be set to an
- explicit numeric value. The program will allow the eye-to-screen
- distance to be reduced to a very small value; however, it should never
- be made so small that the viewpoint effectively enters the object being
- displayed as this results in distorted and meaningless graphics.
-
- The second key display parameter is the scale factor which is the ratio
- of geometry units to screen inches. This value determines the apparent
- size of the object as finally drawn on the screen. The scale ratio is
- displayed as a data field in the menu area. It can be adjusted up or
- down in increments of 10% of the current value, or it can be assigned an
- explicit numeric value. When a new geometry file is read in, and if
- there is no overriding information in the configuration file, the
- program automatically sets the scale ratio so the image of the object
- fits comfortably within the primary graphics area allowing plenty of
- room for rotations.
-
- Both the eye-to-screen distance and the display scale ratio can be
- specified in the configuration file.
-
-
- 3.4 Special 3-D Geometry Definition
-
- The designed function of the HYPERGEO program is the display and
- examination of the properties of four-dimensional geometrical objects.
- The program's input is normally expected to be a geometry definition
- file that specifies four coordinate values for each vertex point. All
- of the preceding discussion has been in terms of this basic scenario.
- However, the program will also accept geometry definitions of
- three-dimensional objects and will display them with all features
- available that relate to the 3-D level of processing. When the input
- geometry is three-dimensional, all of the program's commands that
- normally perform operations in four dimensions are deactivated; if the
- user selects a keyboard command that only operates on four-dimensional
- geometries, a message window appears with an explanation that the
- command is not applicable to the current 3-D object, and the command is
- ignored. In special 3-D geometry mode, the section of the mouse control
- pad area that contains the selection boxes for 4-D rotations is shaded
- over with a stippled pattern, and those mouse functions cannot be
- selected.
-
- A 3-D geometry definition file has the same format as a 4-D file (see
- Appendix A) with two exceptions: first, the value of the "number of
- dimensions" field is 3 instead of 4; and second, each point has only
- three coordinates, not four.
-
- When operating upon a 3-D geometry definition, the program treats all
- 3-D rotations as permanent modifications to the object's database. The
- displayed axis angle displacements and the unit axis vectors are changed
- upon 3-D rotations. (Recall that for 4-D geometries these items remain
- fixed during 3-D rotations and are only changed when a 4-D rotation is
- performed.)
-
-
- HYPERGEO Version 1.1 Page 4-1
-
-
-
-
- Section 4. Inner Workings
-
-
- 4.1 Units
-
- The coordinates of the geometry definition are considered to be in
- so-called "geometry units" which are not assumed to have any particular
- relation to any real physical unit. Regardless of the size of the
- coordinate values, HYPERGEO will scale the display to fit within the
- visible screen area. Some of the parameters that can be specified by
- the user are expressed in geometry units and must be entered that way.
- Other parameters, in particular, those relating to the projection of the
- final 2-D image on the computer's screen, are expressed in real-world
- units. The program uses inches for all real-world dimensions, and the
- display scale is expressed as a ratio of geometry units to inches (the
- inches here refer to distances on the face of the computer's display
- screen).
-
- In the detailed reference material contained in the appendixes to this
- document and in all program prompts and messages it is always indicated
- what units a particular data value is expressed in.
-
-
- 4.2 Verification of the Geometry Definition
-
- When HYPERGEO reads in a geometry definition file, either 4-D or 3-D, it
- analyzes the topology of the described object. The number of vertexes,
- edges, faces, and (for 4-D) hyperfaces is calculated, and various
- aspects of the input file and its derived topology are checked for
- validity:
-
- * The number of dimensions must be either 3 or 4.
-
- * Every vertex must have at least as many edges connected to it as
- the number of dimensions.
-
- * All edge connections must be consistently specified between both
- connected vertexes, that is, if vertex #1 is in the connection
- list of vertex #2, vertex #2 must be in vertex #1's list, also.
-
- * The numbers of vertexes, edges, faces, and (for 4-D) hyperfaces
- must agree with the theoretical values as given by Euler's
- Formula or its hypergeometric version.
-
- If any of these checks fails, an error message is displayed, and when
- the message window is dismissed, the program exits back to DOS.
-
-
- HYPERGEO Version 1.1 Page 4-2
-
-
-
- 4.3 Calculating 4-D to 3-D Projections
-
- To project the original 4-D geometry onto 3-space, an imaginary
- viewscreen (which is a three-dimensional hyperplane) and an imaginary
- viewpoint must be positioned in hyperspace. The HYPERGEO program uses
- the so-called "radius" of the hyperobject to determine where the
- viewscreen and viewpoint are located. The radius of the hyperobject is
- the maximum four-dimensional distance from the origin of all of the
- object's vertex points. The viewscreen is positioned at a distance
- equal to the hyperobject's radius along the negative W-axis and normal
- (or "hypernormal") to that axis. The viewpoint is located at a distance
- equal to 1.5 times the radius along the negative W-axis.
-
- This arrangement produces properly sized images with a reasonable
- measure of 4-D "hyperperspective" if the configuration of vertex points
- in the geometry definition is more or less symmetrical in hyperspace
- about the origin. Ideally, the geometry specification should be
- perfectly symmetrical, with all vertex points lying on the surface of a
- hypersphere centered on the origin. This is possible with the regular
- four-dimensional "polytopes". (A polytope is the extra-dimensional
- equivalent of a 3-D polyhedron; a regular four-dimensional polytope has
- hyperfaces that are all identical polyhedra and that all adjoin one
- another across identical polygonal faces at identical angles.)
-
-
- HYPERGEO Version 1.1 Page 5-1
-
-
-
-
- Section 5. Restrictions and Limitations
-
-
- 5.1 Geometry Definition File
-
- The database maintained by the HYPERGEO program is dynamically allocated
- and expands to fit the size of the geometry being handled so there are
- no precise and absolute capacity limits on how big and complicated an
- object may be. The ultimate barrier is the 640K limit of available
- memory under DOS. Although I have not done the actual experiment, my
- guess is that the two largest regular four-dimensional polytopes, with
- 120 and 600 hyperfaces respectively (and as many as 1200 edges and
- faces), would far overwhelm HYPERGEO and DOS with their memory
- allocation requirements. (In any event, if, through some miracle, those
- geometries could be made to fit in memory, the computations involved in
- their topological analysis and 3-D image generation would be so
- prolonged as to reduce the program's responsiveness to a state that
- could only be described as "glacier-like".)
-
- For more reasonably sized geometries, the most important restriction is
- that all 4-D hyperobjects must be "simple" and externally convex.
- (Simple means the object must be solid without any holes passing through
- it.) For 3-D geometries, the requirement that the object be externally
- convex is removed, but it must still be a simple polyhedron, and all its
- faces must be simple polygons without internal edges.
-
- As mentioned above, HYPERGEO performs some checking on the topological
- correctness of the input geometry. However, to be truthful, this
- checking is not very comprehensive; it can certainly fail to detect some
- errors in the input, and when it does find errors, the messages issued
- are not as helpful as could be wished in pinpointing the problem. I am
- sure that it would be possible to get the program to misbehave quite
- seriously, including hanging or crashing, by feeding it pernicious input
- data. Therefore, until a future version of the program possesses
- improvements in this regard, the user must take some pains to insure
- that all new geometry definition files are created carefully and
- accurately. If the program crashes upon startup, consider that to be a
- very loud, broadband error message, and check the geometry file closely.
- (However, HYPERGEO is not totally deficient in this regard, and it will
- issue error messages when certain problems are detected. A geometry
- definition file with only a handful of conventional errors will be
- handled adequately.)
-
-
- HYPERGEO Version 1.1 Page 5-2
-
-
-
- 5.2 Mathematical Precision
-
- All calculations in HYPERGEO are performed using double precision
- floating-point arithmetic. The double precision word length is 64 bits
- which provides about fifteen decimal digits of accuracy. Any
- floating-point values given to the program (such as coordinates in the
- geometry definition file or scale ratio in the configuration file) may
- usefully contain up to fifteen digits.
-
-
- HYPERGEO Version 1.1 Page 6-1
-
-
-
-
- Section 6. Supplied Geometry Definition Files
-
-
- The HYPERGEO program comes with several "ready-to-run" geometry
- definition files, including both 4-D and 3-D objects. These files
- include four of the six regular four-dimensional polytopes and all five
- of the three-dimensional regular polyhedra. (As indicated above, the
- remaining two regular 4-D polytopes are almost certainly too big and
- complex to fit in HYPERGEO under DOS; they also are too far beyond my
- powers of hypergeometric comprehension to capture in a HYPERGEO input
- file.)
-
- All of the supplied geometry definition files have the file extension
- .GEO, and the root portion of the file name corresponds to the name of
- the geometric object contained in the file (with some abbreviations as
- required by DOS file name length limits). The regular four-dimensional
- polytopes are in the files:
-
- File Name Vertexes Edges Faces Hyperfaces
- ------------ -------- ----- ----- ----------
-
- 5CELL.GEO 5 10 10 5
-
- HYPRCUBE.GEO 16 32 24 8
-
- 16CELL.GEO 8 24 32 16
-
- 24CELL.GEO 24 96 96 24
-
-
- Note that the polytope names are of the form 'N-cell' where N is the
- number of hyperfaces. Also, the hypercube, technically and to be
- consistent, could be called the 8-cell (just as the cube could be called
- a 'hexahedron' and the square a 'tetragon'). The two 4-D regular
- polytopes that aren't included here are the 120-cell and the 600-cell.
- (Note: The 24-cell can be quite slow to read in and to display using
- hidden-line and solid modes.)
-
-
- HYPERGEO Version 1.1 Page 6-2
-
-
-
- For three dimensions, all of the regular polyhedra names except "cube"
- are of the form '<prefix>hedron' where <prefix> is the Greek numeral
- indicating the number of faces: tetrahedron, octahedron, dodecahedron,
- and icosahedron. The HYPERGEO geometry definition file names are formed
- from just the prefix without the base 'hedron':
-
- File Name Vertexes Edges Faces
- ------------ -------- ----- -----
-
- TETRA.GEO 4 6 4
-
- CUBE.GEO 8 12 6
-
- OCTA.GEO 6 12 8
-
- DODECA.GEO 20 30 12
-
- ICOSA.GEO 12 30 20
-
-
- In addition to the regular polytopes and polyhedra, the following
- geometry definition files are also included:
-
- File Name Dimensions Geometrical Object
- ------------ ---------- -----------------------------------
-
- BLOCKS.GEO 3 A three-dimensional cross formed by
- stacking cubes along each of the three
- coordinate dimensions.
-
- STELLA.GEO 3 The "stella octangula", an interesting
- polyhedron formed by merging two 3-D
- tetrahedra.
-
- HG.GEO 3 A shape that forms the HYPERGEO logo by
- presenting the outline of the letter 'H'
- when viewed from two of the three
- orthogonal directions and the outline of
- the letter 'G' when viewed from the
- third. (Note: This geometry can be
- quite slow to read in, and is very slow
- for hidden-line and solid display modes
- - although the results are attractive.)
-
-
- HYPERGEO Version 1.1 Page 6-3
-
-
-
- HYTETRA.GEO 4 These four objects are "hyperprisms"
- HYOCTA.GEO 4 derived from the 3-D regular polyhedra
- HYDODECA.GEO 4 contained in their names. A hyperprism
- HYICOSA.GEO 4 is formed by positioning two 3-D objects
- in hyperspace at a given separation
- along the W-axis and connecting each of
- the pairs of corresponding points
- between the two objects. The resulting
- hyperobject has two hyperfaces that are
- the same shape as the base 3-D object
- plus an additional number of hyperfaces
- equal to the number of faces in the base
- 3-D object. These additional hyperfaces
- are 3-D prisms whose end faces are the
- same polygonal shape as the faces of the
- base 3-D object. Thus, for example, the
- HYTETRA.GEO hyperobject is based on the
- 3-D tetrahedron; it has two hyperfaces
- that are tetrahedra and four hyperfaces
- that are prisms with triangular end
- faces. (Note: Technically the hypercube
- is itself a hyperprism - one based on
- the cube - but since it is also one of
- the regular 4-D polytopes, it is not
- included in this series.)
-
-
- HYPERGEO Version 1.1 Page A-1
-
-
-
-
- Appendix A. Geometry Definition File
-
-
- This appendix describes the format of the geometry definition file.
- This file is the primary input to the HYPERGEO program. It specifies
- the topology and dimensions of the geometrical object to be displayed.
- In particular, the file contains the coordinate values for all vertex
- points of the object plus connectivity information that indicates which
- vertexes are joined by edges.
-
- The geometry definition file is an ordinary text file that can be edited
- using any available text editor. It is read by the HYPERGEO program a
- line at a time; each line comprises one complete data record, and there
- is no way to continue data across multiple lines. The maximum length of
- a line is 255 characters.
-
- The geometry definition file can contain notes and comments that are not
- part of the data read by the program, but serve as human-readable
- annotation. This is indicated by preceding any such comments with the
- character '!'. HYPERGEO ignores any '!' character plus whatever follows
- it on the same line. If the first character on a line is a '!', the
- entire line is skipped by the program. If the '!' character appears
- following some data on a line, that data is read by the program, but
- everything after the '!' is ignored.
-
- The geometry definition file can contain any number of blank lines,
- which are ignored. A line which contains only comment text is
- considered by the program to be a blank line.
-
- Every geometry definition file must begin with two particular data
- lines. The first contains a single integer value which is the number of
- dimensions of the geometric object; this number must be either 3 or 4.
- The second line contains a single integer that is the number of vertex
- points in the geometry. Following these two lines, there must be one
- line with point data for each vertex point.
-
- Each point data line contains the coordinate and connectivity
- information for a single vertex point. Its format is:
-
- n: x.x y.y z.z [w.w] p1 p2 p3 [... pN]
-
- where 'n' is the sequence number of the point data line; 'x.x', 'y.y',
- 'z.z', and 'w.w' are the X, Y, Z, and W coordinates of the point; and
- 'p1' through 'pN' are the sequence numbers of all other points connected
- to this point by edges.
-
- Each point's sequence number serves to identify the point within the
- file. It is the number used in the connection lists, and it is also the
- number used to refer to the point in any error messages that may be
- issued. All point sequence numbers are integers, and they must be in
-
-
- HYPERGEO Version 1.1 Page A-2
-
-
- ascending order within the file; the first point data line must have
- sequence number 1, and the last point data line must have a sequence
- number equal to the total number of vertex points in the object.
-
- The coordinate values are floating-point numbers and may contain an
- optional decimal point and fractional digits. They may also contain a
- decimal exponent in standard scientific notation format. The coordinate
- values may be in any units desired; the program always scales the final
- display to fit the screen. The W coordinate must be specified for a
- four-dimensional geometry and must not be specified for a
- three-dimensional one.
-
- The list of connected points contains the sequence numbers of all points
- connected to the point described by the given data line. Connection
- information must be symmetrical, that is, if point A is in point B's
- connection list, point B must also be in point A's connection list. It
- is an error for a point to be in its own connection list. Unlike the
- coordinate values, the program has no way of knowing how many
- connections should exist for each point and hence cannot directly report
- an error if there are too few or too many. Therefore, it is incumbent
- upon the user to construct these lists with some care.
-
- Except for the ':' that must follow the sequence number, no punctuation
- is used to separate the data values, just one or more spaces.
-
- Following all point data, the geometry definition file may optionally
- contain configuration information. If it appears, it must consist of
- statements that are identical in format to the primary configuration
- file (see Appendix B). Configuration parameters specified in a geometry
- definition file override corresponding parameters set in the primary
- configuration file, but they remain in effect only while that geometry
- definition file is active in the HYPERGEO program.
-
- Note: There is no formal delimiter that marks the end of the geometry
- data and the start of configuration data in a geometry definition file.
- The program expects to find a number of point data lines equal to the
- total number of vertex points as specified on the second data line of
- the file. Any non-comment lines found in the file after that number of
- point data lines have been read are assumed to be configuration data.
- This can lead to some very long and confusing error reports if the
- number of point data lines is not correct.
-
-
- HYPERGEO Version 1.1 Page B-1
-
-
-
-
- Appendix B. Configuration File
-
-
- This appendix describes the format of the HYPERGEO configuration file.
- This file allows the user to set a number of parameters that control
- various aspects of the program's performance. The file is read once
- upon start-up of the program, and is reread each time a new geometry
- definition file is entered.
-
- In addition to the configuration file, similar configuration information
- may also be contained in any geometry definition file. The format is
- the same in both places, but the parameter specifications in the geometry
- definition file override those in the primary configuration file;
- however, they are in effect only while that geometry file is active in
- the program (see Appendix A).
-
- A command line argument exists that allows the user to specify the name
- of the particular primary configuration file to use. This permits
- multiple configuration files to exist and to be selected as desired for
- different executions of HYPERGEO. If no configuration file name is
- specified via a command line argument, the program tries to open one
- called HYPERGEO.CFG. It is not an error if this default configuration
- file cannot be opened, but it is a fatal error if a configuration file
- whose name is specified by the command line argument cannot be opened.
-
- The configuration file is an ordinary text file that can be edited using
- any available text editor. It is read by the HYPERGEO program a line at
- a time; each line comprises one complete data record, and there is no
- way to continue data across multiple lines. The maximum length of a
- line is 127 characters.
-
- The configuration file can contain notes and comments that are not part
- of the data read by the program, but serve as human-readable annotation.
- This is indicated by preceding any such comments with the character '!'.
- HYPERGEO ignores any '!' character plus whatever follows it on the same
- line. If the first character on a line is a '!', the entire line is
- skipped by the program. If the '!' character appears following some
- data on a line, that data is read by the program, but everything after
- the '!' is ignored.
-
- The configuration file can contain any number of blank lines, which are
- ignored. A line which contains only comment text is considered by the
- program to be a blank line.
-
- Each data line in the configuration file contains a single parameter
- definition. The format of each line is simply the key word identifying
- the parameter followed by whatever data values the particular parameter
- requires. No punctuation should be used; all parameters and values
- should be separated by one or more spaces.
-
-
- HYPERGEO Version 1.1 Page B-2
-
-
- The case of letters used in the configuration file does not matter, so
- lower or upper case (or both) can be used as desired. However, the
- program is absolutely unforgiving about spelling; all parameter key
- words must be spelled exactly as they are shown in this document - no
- abbreviations, no hyphens instead of underscores, no near misses.
-
- Most parameters take a single data value, either a number or another key
- word. Some parameters take a sequence of several numeric values, and
- some take no value at all. Numeric values that are inherently integral
- must be entered as pure integers. Where floating-point values are
- appropriate, the data item may include a decimal point and fractional
- digits as well as an exponent in scientific notation.
-
- Errors encountered by the program while trying to read a configuration
- file (or configuration data in a geometry definition file) are reported
- in a message window. All configuration file errors are fatal and
- terminate the program after the error message window is dismissed.
-
- The following is a list of all parameters that may be specified in the
- HYPERGEO configuration file or a geometry definition file:
-
-
- Parameter: COLOR
- COLOR_BACKGROUND
- COLOR_VECTOR
- COLOR_MENU
- COLOR_MESSAGE_BACKGROUND
- COLOR_MESSAGE_TEXT
- COLOR_HELP_BACKGROUND
- COLOR_HELP_TEXT
-
- Value: A color name chosen from the sixteen standard EGA colors.
- The possible colors are:
-
- BLACK
- BLUE
- GREEN
- CYAN
- RED
- MAGENTA
- BROWN
- LIGHTGRAY
- DARKGRAY
- LIGHTBLUE
- LIGHTGREEN
- LIGHTCYAN
- LIGHTRED
- LIGHTMAGENTA
- YELLOW
- WHITE
-
-
- HYPERGEO Version 1.1 Page B-3
-
-
- Use: These eight parameters set the colors used for each of the
- component parts of the HYPERGEO display:
-
- COLOR - Primary geometry graphics plus the transient
- text values in the menu area
-
- COLOR_BACKGROUND - Screen background
-
- COLOR_VECTOR - Unit axis vectors
-
- COLOR_MENU - Outlines and fixed labels in menu area plus
- the mouse control pad; also the geometry file name
-
- COLOR_MESSAGE_BACKGROUND - Background color for all
- message and prompting windows
-
- COLOR_MESSAGE_TEXT - Text color for all message and
- prompting windows
-
- COLOR_HELP_BACKGROUND - Background color of the on-line
- help screen
-
- COLOR_HELP_TEXT - Text color of the on-line help screen
-
- The screen background color should be a dark color (BLACK or
- DARKGRAY) if the stereoscopic anaglyph mode of display is to
- be used.
-
- Default: COLOR WHITE
- COLOR_BACKGROUND DARKGRAY
- COLOR_VECTOR CYAN
- COLOR_MENU YELLOW
- COLOR_MESSAGE_BACKGROUND BROWN
- COLOR_MESSAGE_TEXT WHITE
- COLOR_HELP_BACKGROUND LIGHTGRAY
- COLOR_HELP_TEXT BLACK
-
-
- HYPERGEO Version 1.1 Page B-4
-
-
-
- Parameter: COLOR_SOLID
-
- Value: A red/green/blue color specification in the form of three
- integers each in the range 0 to 63. The integers should be
- entered without punctuation, separated by spaces.
-
- Use: On VGA color systems, defines the colors to be used for
- surface rendering in solid display mode.
-
- For solid surface rendering the program uses eight shades of
- graduated intensity based on the same color. The shades
- range from light to dark and are used to represent the
- varying degrees of illumination received by the different
- faces of the object from a theoretical light source.
-
- The color specified by the COLOR_SOLID parameter defines the
- lightest of the eight shades; the program creates the
- remaining seven to be increasingly dark variations.
- Therefore, the color specified should be fairly light, that
- is, have relatively high values for the red, green, and blue
- color components.
-
- Note: This parameter is only meaningful on systems with VGA
- color graphics.
-
- Default: 53 63 43
-
- This defines a light, slightly grayish green. It produces a
- spectrum of eight shades that range through medium
- gray-greens down to a dark, evergreen green.
-
-
- Parameter: DELTA_W
-
- Value: numeric value (floating-point)
-
- Use: Specifies the incremental step amount used to modify the W
- intersection value during execution of the HYPERGEO command
- for translation of the intersection hyperplane (Page Up/Page
- Down - see the section on Interactive Commands below). This
- value is in the units of the geometry definition.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in a
- geometry definition file; however, it may be specified in
- the primary configuration file.
-
- Default: 0.05 times the span of the geometrical object. The "span"
- is the greatest extent of the object in any one of its three
- or four dimensions.
-
-
- HYPERGEO Version 1.1 Page B-5
-
-
-
- Parameter: DISPLAY_INFO
-
- Value: One of: OFF
- ON
-
- Use: Specifies whether or not the HYPERGEO information window
- should be displayed automatically at program start up and
- whenever a new geometry definition file is entered.
-
- Default: ON
-
-
- Parameter: DISPLAY_MENU
- DISPLAY_NAME
- DISPLAY_VECTOR
-
- Value: One of: OFF
- ON
-
- Use: Specifies whether a particular component of the HYPERGEO
- display will be drawn.
-
- DISPLAY_MENU controls the display of the menu area which
- occupies the right edge of the screen. If display of the
- menu area is specified OFF, the entire screen is used for
- the primary geometry graphics (in this state, the mouse
- functions are not available).
-
- DISPLAY_NAME controls the display of the name of the
- geometry definition file; if ON, the name will be displayed
- at the upper, left corner of the screen.
-
- DISPLAY_VECTOR controls the display of the coordinate axis
- vectors. The axis vectors are displayed as dotted lines in
- the primary graphics; each vector is labelled with the name
- of its axis, X, Y, Z, or W.
-
- Note: Regardless of the DISPLAY_VECTOR setting, the axis
- vectors are not displayed in hidden-line or solid display
- mode.
-
- Default: DISPLAY_MENU ON
- DISPLAY_NAME ON
- DISPLAY_VECTOR OFF
-
-
- HYPERGEO Version 1.1 Page B-6
-
-
-
- Parameter: DISPLAY_MODE
-
- Value: One of: ANAGLYPH
- HIDDEN_LINE
- ORTHOGRAPHIC
- PERSPECTIVE
- SOLID
-
- Use: Specifies the display mode used to draw the primary geometry
- graphics.
-
- Note: The HIDDEN_LINE and SOLID modes cannot be used with
- 4-D to 3-D projections (only intersections). If they are
- specified together with the PROJECTION parameter (see
- below), a warning message will be issued, and the program
- will revert to PERSPECTIVE mode.
-
- Default: PERSPECTIVE
-
-
- Parameter: EPSILON
-
- Value: numeric value (floating-point)
-
- Use: Specifies a small value to be used as an effective zero in
- all floating-point comparisons required by the program's
- calculations.
-
- This value is unitless; all calculations are performed
- internally on normalized coordinates.
-
- Default: 1.0E-8
-
- Note: The performance of some of the algorithms used in
- hidden-line and solid surface displays is very sensitive to
- this value. The default was set after much experimentation
- and appears to provide reliable behavior almost all of the
- time. The user fiddles with this value at his own risk.
-
-
- HYPERGEO Version 1.1 Page B-7
-
-
-
- Parameter: EYE_DISTANCE
-
- Value: numeric value (floating-point)
-
- Use: Specifies the viewing distance, that is, the distance
- between the eye and the display screen. This value is in
- inches. It determines the degree of perceived perspective
- in the various display modes. For greatest realism, it
- should be set to accurately reflect the true eye-to-screen
- distance for the user's normal viewing position.
-
- Decreasing the EYE_DISTANCE enhances the perspective effect,
- which can be useful. However, the EYE_DISTANCE should never
- be reduced to the point that the viewpoint appears to enter
- the object; this cause the graphics to become distorted and
- meaningless.
-
- Default: 30.0
-
-
- Parameter: EYE_SEPARATION
-
- Value: numeric value (floating-point)
-
- Use: Specifies the distance in inches between the viewer's eyes.
- This value is used in the perspective calculations required
- for the separate left- and right-eye images of the
- stereoscopic anaglyph display.
-
- Default: 2.5
-
- Note: This default value should be entirely acceptable for
- all users save those with close relatives residing in remote
- upper reaches of the Himalayas.
-
-
- HYPERGEO Version 1.1 Page B-8
-
-
-
- Parameter: INTERSECTION
-
- Value: None
-
- Use: Causes HYPERGEO to use the intersection mode of 4-D to 3-D
- reduction (rather than projection mode).
-
- The INTERSECTION parameter is meaningless for
- three-dimensional geometries.
-
- INTERSECTION and PROJECTION (see below) are mutually
- exclusive alternatives; if both appear in configuration file
- data, the final one encountered will take precedence.
-
- Default: By default HYPERGEO uses intersection mode for 4-D to 3-D
- reductions.
-
-
- Parameter: ORIGIN
-
- Value: Coordinate values as a sequence of three (for 3-D) or four
- (for 4-D) floating-point numbers. Values should be entered
- without delimiting punctuation, using only spaces as
- separation.
-
- Use: Permits translating the geometry along any (or all) of the
- coordinate axes. The coordinate values specified define the
- new origin which is to be used by HYPERGEO as a centerpoint
- for all rotations.
-
- The ORIGIN parameter may only be used in configuration data
- appearing within a geometry definition file; it may not be
- used in the primary configuration file. This is because the
- validity of the origin coordinates - in terms of their
- number and the units they are in - depends on the associated
- geometry definition. Also, the translation is applied
- dynamically to the geometry point definitions as they are
- read in.
-
- The ORIGIN coordinate values are in the same units as the
- original vertex point coordinates in the geometry definition
- file.
-
- Default: The origin is assumed to be (0,0,0) for 3-D and (0,0,0,0)
- for 4-D geometries.
-
-
- HYPERGEO Version 1.1 Page B-9
-
-
-
- Parameter: PROJECTION
-
- Value: None
-
- Use: Causes HYPERGEO to use the projection mode of 4-D to 3-D
- reduction (rather than intersection mode).
-
- The PROJECTION parameter is meaningless for
- three-dimensional geometries.
-
- PROJECTION and INTERSECTION (see above) are mutually
- exclusive alternatives; if both appear in configuration file
- data, the final one encountered will take precedence.
-
- Default: By default HYPERGEO uses intersection mode for 4-D to 3-D
- reductions.
-
-
- Parameter: RATIO
-
- Value: numeric value (floating-point)
-
- Use: Specifies the scale ratio at which the display is drawn.
- The units of this value are: geometry units per screen inch.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in a
- geometry definition file; however, it may be specified in
- the primary configuration file.
-
- Default: Autoscale: the display is scaled to fit comfortably within
- the primary graphics area allowing ample room for rotations.
-
-
- HYPERGEO Version 1.1 Page B-10
-
-
-
- Parameter: SCREEN_HEIGHT
- SCREEN_WIDTH
-
- Value: numeric value (floating-point)
-
- Use: These two parameters specify the vertical and horizontal
- size in inches of the actual area on the display screen in
- which graphics are drawn. They can best be determined for a
- particular monitor by simply using a ruler to measure the
- height and width of the displayed area on the face of the
- screen.
-
- The precise accuracy of these parameters isn't critical, but
- they are useful to insure that the program's display scale
- is consistent between the horizontal and vertical
- directions (so that squares look square and not rectangular,
- for example).
-
- Default: SCREEN_HEIGHT 6.0
- SCREEN_WIDTH 8.0
-
- Note: These default values are about right for the typical
- 12-inch monitor.
-
-
- HYPERGEO Version 1.1 Page B-11
-
-
-
- Parameter: SOLID_FILL
-
- Value: One of: COLOR
- PATTERN
-
- Use: Specifies whether to use color or pattern for surface
- rendering in solid display mode.
-
- Solid surface rendering that uses color displays the faces
- of the object with varying levels of color brightness to
- indicate how they are illuminated by a theoretical light
- source. If pattern is used instead, the same effect is
- achieved by varying the density of fill (displayed with a
- single color) used to render the object's solid faces.
-
- If color is used, the COLOR_SOLID shades (see above) are
- used for VGA graphics, and a set of eight pre-programmed
- colors are used for EGA graphics.
-
- If pattern is used, it is displayed using the color
- specified for the primary geometry graphics.
-
- Note: This parameter is only meaningful on systems with
- color graphics capability (EGA or VGA); on monochrome
- systems, PATTERN is always used.
-
- Default: COLOR (for EGA and VGA color systems)
- PATTERN (for monochrome systems)
-
-
- Parameter: TURN
-
- Value: numeric value (floating-point)
-
- Use: Specifies the incremental step angle used by all interactive
- rotation commands. This value is specified in degrees.
-
- Default: 5.0
-
-
- HYPERGEO Version 1.1 Page B-12
-
-
-
- Parameter: VECTOR_LENGTH
-
- Value: numeric value (floating-point)
-
- Use: Specifies the length in screen inches of the unit axis
- vectors which may optionally be displayed as part of the
- primary geometry graphics (see DISPLAY_VECTOR above). The
- VECTOR_LENGTH is the length an axis vector appears on the
- screen when it is situated parallel to the XY-plane. As the
- object is rotated, the various axis vectors will appear to
- rotate with it and become visibly shorter as they assume
- different oblique orientations.
-
- Default: 1.0
-
-
- Parameter: W_INTER
-
- Value: One of: CENTERED
- numeric value (floating-point)
-
- Use: Specifies the W-coordinate value at which a four-dimensional
- hyperobject will be "sliced" when using 4-D to 3-D
- intersection mode (that is, the value 'k' in the equation,
- w = k, of the intersecting hyperplane). If a numeric value
- is specified, it should be in the same units as the geometry
- definition.
-
- When CENTERED is specified, the program automatically
- calculates the W value to use as the average of the minimum
- and maximum of all W coordinate values in the geometry
- definition. This slices the hyperobject more or less down
- the middle.
-
- Because this parameter is in units that pertain to a
- particular geometry definition, it is most useful in a
- geometry definition file; however, it may be specified in
- the primary configuration file.
-
- Default: CENTERED
-
-
- HYPERGEO Version 1.1 Page B-13
-
-
-
- The following is an example of a HYPERGEO configuration file:
-
- ! Example HYPERGEO Configuration File
- !
-
- PROJECTION ! change from default Intersection
-
- Color_Background Black
- Color_Vector LightMagenta ! very vivid
-
- COLOR_SOLID 63 53 43 ! flesh tone - produces darker
- ! shades that range through cocoa
- ! on down to dark reddish-brown
-
- display_vector on
- vector_length 2.0 ! up from default 1 inch
-
- TURN 45 ! big angle for fast rotations
-
- DISPLAY_MODE anaglyph ! start up in 3-D graphics mode
-
-
- HYPERGEO Version 1.1 Page C-1
-
-
-
-
- Appendix C. Command Line Arguments
-
-
- The HYPERGEO command line consists of the name of the program's
- executable file, HYPERGEO.EXE, followed optionally by additional
- parameters that are passed to the program. This additional text is used
- to transmit control specifications to the HYPERGEO program. Parameters
- passed to a program in this manner are called command line arguments.
-
- Note: Normally the .EXE extension is not typed when the program is being
- executed since DOS knows it without being told.
-
- The HYPERGEO program accepts a number of command line arguments that can
- be used to control the behavior of the program. Many of the command
- line arguments perform a function identical to parameters that can be
- specified in the HYPERGEO configuration file. Whenever a command line
- argument and a configuration file parameter are in conflict, the command
- line argument takes precedence. Furthermore, the command line
- specifications will continue to override configuration parameters that
- might be contained in any new geometry definition files that are read
- into the program interactively.
-
- Each command line argument consists of a single key letter that is
- entered on the HYPERGEO command line. The key letters should be typed
- on the command line with a preceding hyphen, for example,
-
- HYPERGEO -a
-
- Multiple arguments can either be strung together following a single
- hyphen or typed separately preceded by individual hyphens; thus,
-
- HYPERGEO -aIv
-
- and
-
- HYPERGEO -a -I -v
-
- are equivalent.
-
- Several arguments are flags indicating that a file name follows them
- immediately on the command line. For these arguments, there must be no
- other argument letters following them before the file name. There may,
- however, be one or more (or no) spaces between the flag letter and the
- file name.
-
- In all instances, the case (lower or upper) of the key letter is
- significant. A number of arguments use the two cases of the same letter
- to mean opposite settings of a single parameter. All arguments that use
- only one case of a letter require it to be lower-case; it will be
- rejected as an error if typed in upper-case.
-
-
- HYPERGEO Version 1.1 Page C-2
-
-
- (Confession: The standard notation of using a hyphen to prefix command
- line argument letters is styled after the Unix convention. HYPERGEO
- follows this usage, and hyphens will always work. However, to be
- candid, the arguments will also be handled correctly if preceded by a
- slash ('/', NOT a back-slash) or by nothing at all. The only possible
- source of confusion is with file names appearing in the command line,
- but as long as all file names are always correctly and immediately
- preceded by their flag argument, the hyphen (or slash) prefix is
- superfluous and can be dispensed with.)
-
- Most arguments perform an independent function and can be used in any
- desired combination with other arguments. However, five of the
- arguments serve to set the value of a single parameter, the 3-D graphic
- display mode, and they are mutually exclusive. These arguments are -a,
- -h, -o, -p, and -s; if more than one of them appears in a HYPERGEO
- command line, the one typed last takes effect.
-
- The following is a list of all command line arguments for the HYPERGEO
- program:
-
- Argument: -a
-
- Use: Selects the stereoscopic anaglyph mode of display.
-
- This argument is mutually exclusive with -h, -o, -p, and -s.
-
- Default: Perspective display mode.
-
-
- Argument: -b
-
- Use: Instructs HYPERGEO to create all graphics in black and white
- even if the graphics display device supports color. This
- can be useful when a monochrome monitor is connected to a
- color graphics controller card.
-
- With black and white graphics the stereoscopic anaglyph mode
- is unavailable, and solid surface fill always uses patterns.
-
- Default: Color if graphics device supports it, else monochrome.
-
-
- HYPERGEO Version 1.1 Page C-3
-
-
-
- Argument: -c
-
- Use: Specifies the name of a HYPERGEO configuration file to use.
- The argument letter must be followed on the command line by
- the file name, with no other arguments intervening. The
- file name can contain full DOS path information; if there is
- no path specified, it is assumed to exist in the current
- directory. If the file name specification has no extension,
- it is assumed to have the extension .CFG.
-
- If this argument is used and the specified file cannot be
- opened, it is a fatal error and HYPERGEO terminates. It is
- not an error, however, if the default configuration file
- cannot be opened.
-
- Default: HYPERGEO.CFG in current directory
-
-
- Argument: -f
-
- Use: Specifies the name of a HYPERGEO geometry definition file to
- use. The argument letter must be followed on the command
- line by the file name, with no other arguments intervening.
- The file name can contain full DOS path information; if
- there is no path specified, it is assumed to exist in the
- current directory. If the file name specification has no
- extension, it is assumed to have the extension .GEO.
-
- If either the geometry file specified by this argument or
- the default geometry file cannot be opened, it is a fatal
- error and HYPERGEO terminates.
-
- Default: HYPRCUBE.GEO in current directory
-
- This is the standard four-dimensional hypercube.
-
-
- Argument: -g/-G
-
- Use: Selects the method for reducing the 4-D geometry to a 3-D
- image for display. The lower-case argument, -g, selects
- intersection mode, and the upper-case argument, -G, selects
- projection mode.
-
- Default: Intersection mode
-
-
- HYPERGEO Version 1.1 Page C-4
-
-
-
- Argument: -h
-
- Use: Selects the hidden-line mode of 3-D display.
-
- This argument is mutually exclusive with -a, -o, -p, and -s.
-
- Also, hidden-line display mode cannot be used with 4-D
- projections. If this argument is used together with the -G
- argument, a warning message is issued and the program starts
- up in perspective display mode.
-
- Default: Perspective display mode.
-
-
- Argument: -i/-I
-
- Use: Specifies whether or not to display the special HYPERGEO
- information window automatically upon program start up and
- whenever a new geometry definition file is read. The
- lower-case argument, -i, selects automatic display, and the
- upper-case argument, -I, deactivates it.
-
- Default: The information window is automatically displayed.
-
-
- Argument: -m/-M
-
- Use: Specifies whether or not to display the menu area along the
- right edge of the screen. The menu area lists a number of
- parameters that describe the current display and that can be
- modified interactively within the HYPERGEO program. It also
- contains a mouse control pad area which allows the mouse to
- be used for controlling rotations of the geometry. If the
- menu area is not displayed, the primary geometry graphics
- use the entire screen area; the mouse may not be used
- without the display of the menu area.
-
- The lower-case argument, -m, selects display of the menu
- area, while the upper-case argument, -M, causes the menu not
- to be displayed.
-
- Default: The menu area is displayed.
-
-
- HYPERGEO Version 1.1 Page C-5
-
-
-
- Argument: -n/-N
-
- Use: Specifies whether or not to display the name of the geometry
- definition file in the upper, left corner of the graphics
- display.
-
- The lower-case argument, -n, selects display of the file
- name, while the upper-case argument, -N, causes the name not
- to be displayed.
-
- Default: The geometry definition file name is displayed.
-
-
- Argument: -o
-
- Use: Selects the orthographic mode of 3-D display.
-
- This argument is mutually exclusive with -a, -h, -p, and -s.
-
- Default: Perspective display mode is used.
-
-
- Argument: -p
-
- Use: Selects perspective display mode.
-
- This argument is mutually exclusive with -a, -h, -o, and -s.
-
- Default: Perspective display mode.
-
-
- Argument: -s
-
- Use: Selects solid display mode.
-
- This argument is mutually exclusive with -a, -h, -o, and -p.
-
- Also, solid display mode cannot be used with 4-D
- projections. If this argument is used together with the -G
- argument, a warning message is issued and the program starts
- up in perspective display mode.
-
- Default: Perspective display mode.
-
-
- HYPERGEO Version 1.1 Page C-6
-
-
-
- Argument: -v/-V
-
- Use: Specifies whether or not to display the unit axis vectors
- along with the primary geometry graphics.
-
- The lower-case argument, -v, selects display of the axis
- vectors, while the upper-case argument, -V, causes the axis
- vectors not to be displayed.
-
- Note: Regardless of the setting of this option, the axis
- vectors are never displayed in hidden-line or solid display
- mode.
-
- Default: The unit axis vectors are not displayed.
-
-
- Argument: -?
-
- Use: Prints to the screen a description of the appropriate syntax
- and usage of these command line arguments and terminates the
- HYPERGEO program.
-
- Default: No syntax description is printed.
-
-
-
- The following is an example of a HYPERGEO command line:
-
- HYPERGEO -f cube -cc:\configs\special.dat -Gav -I
-
- This command invokes the following command line argument functions:
-
- * Use the geometry definition file CUBE.GEO located in the current
- directory
-
- * Use the configuration file SPECIAL.DAT located in the directory
- C:\CONFIGS\
-
- * Use projection mode for reducing the 4-D geometry to a 3-D image
-
- * Use stereoscopic anaglyph display mode for the 3-D image
-
- * Display the unit axis vectors
-
- * Deactivate the automatic display of the HYPERGEO information
- window
-
-
- HYPERGEO Version 1.1 Page D-1
-
-
-
-
- Appendix D. Interactive Commands
-
-
- When the HYPERGEO program is executed, it accepts any command line
- arguments, reads in the appropriate configuration file (if any) and
- geometry definition file, and generates the initial display of the
- geometric object. From that point on, the program remains responsive to
- a set of interactive commands which enable the user to manipulate the
- orientation of the object and to modify the various parameters that
- control the manner in which the display is generated. Many of these
- interactive commands affect the same parameters that can be initially
- set through the configuration file and command line arguments.
-
- All interactive commands are invoked using either the keyboard or the
- mouse. The mouse (if the system has one) provides an alternative means
- for invoking the commands for rotation of the object; if there is no
- mouse, keyboard commands can be used to perform the same functions.
- (Also, if the menu area is not displayed, the mouse cannot be used, and
- the keyboard equivalents must be similarly resorted to in its stead.)
-
-
- D.1 Keyboard Commands and the Modifier Keys
-
- The keyboard commands consist of either a single keystroke or a single
- keystroke accompanied by the simultaneous pressing of one of the
- standard keyboard modifier keys: Shift, Ctrl, or Alt. These modifier
- keys are only used with some of the interactive commands, and in all
- cases they have a consistent meaning:
-
- Shift - Used with keystrokes that invoke the various rotations; it
- causes the direction of rotation to be reversed, that is,
- to be equivalent to a negative turn angle.
-
- Note: For all command keystrokes that are letters, if
- the Shift key has no special meaning for that command, the
- command may be entered equivalently in either lower or
- upper case. Only three letter commands (X, Y, and Z) have
- special Shift-modified meanings.
-
- Ctrl - Used with keystrokes for the rotation commands plus the
- command for translating the intersecting hyperplane along
- the W-axis in hyperspace; causes the command action to be
- repeated continuously as fast as the computer's processing
- speed will allow. This "command automation" is stopped by
- pressing any key.
-
- In the case of the hyperplane translation command, the
- automated motion is automatically reversed in direction
- each time the intersecting hyperplane reaches an extreme
-
-
- HYPERGEO Version 1.1 Page D-2
-
-
- of the hyperobject. This causes the hyperplane to move
- continuously back and forth through the entire body of the
- hyperobject.
-
- Alt - Used with keystrokes for the rotation commands; has the
- same "command automation" effect as the Ctrl modifier
- except the rotation is in the reverse direction. The
- continuous, automated rotation is stopped by pressing any
- key.
-
-
- D.2 Mouse Selected Interactive Commands
-
- When the mouse is used to invoke a rotation command, no special
- modifiers are necessary since the action of the mouse buttons provides
- the equivalent control. A rotation command can be invoked with the
- mouse (whenever the HYPERGEO menu area is displayed) by moving the mouse
- so the cursor is over the selection box labeled with the coordinate
- letters indicating the desired axis or plane of rotation; this will
- highlight the selection box. To begin the rotation, press the left or
- right mouse button; the right mouse button causes a rotation in the
- positive direction, and the left mouse button rotates the object in the
- negative direction. The rotation will continue as long as the mouse
- button remains pressed. A single incremental rotation can be achieved
- by quickly clicking and releasing the mouse button.
-
- There are nine rotation command selection boxes in the HYPERGEO menu
- area, divided into two sections: 3-D axial rotations, and 4-D planar
- rotations. All nine are available for 4-D geometries, but only the
- three 3-D rotations can be selected when the input geometry is
- three-dimensional. The 4-D rotation selection boxes are labeled with
- the letters of the two coordinates specifying the plane of the rotation;
- thus, selecting the box labeled "XY" initiates a rotation in hyperspace
- of the XY-plane. The 3-D rotation selection boxes are labeled with the
- single letter of the axis around which the rotation occurs: X, Y, or Z.
-
- If your system has no mouse or if the menu area isn't displayed (or if
- you simply prefer to use the keyboard), there is an equivalent keyboard
- command for each of the nine mouse rotations:
-
- Keystroke Mouse Selection Box Label
- --------- -------------------------
- X X
- Y Y
- Z Z
- F1 YZ
- F2 XW
- F3 XZ
- F4 YW
- F5 XY
- F6 ZW
-
-
- HYPERGEO Version 1.1 Page D-3
-
-
- The keystrokes F1, F3, and F5 correspond to the YZ, XZ, and XY 4-D
- planar rotations. Note that these are the three rotations that occupy
- the top row of the six 4-D rotation selection boxes and that they are
- the 4-D rotations that don't involve the W coordinate. These three
- rotations produce the same visual effect in the geometry display as the
- three 3-D rotations whose selection boxes are directly above them in the
- menu area: X, Y, and Z.
-
- The keystrokes F2, F4, and F6 correspond to the three 4-D rotations that
- do involve the W coordinate: the XW, YW, and ZW planar rotations. These
- are the 4-D rotations that occupy the bottom row of selection boxes
- within the menu area. They do not correspond in effect to any of the
- 3-D rotations.
-
-
- D.3 Interactive Parameter Specification
-
- Some of the interactive commands prompt for the input of a value to be
- assigned to a program parameter. This value is generally either a
- numeric quantity, a file name, or a particular key word. The input is
- requested from the user via a prompting window which pops up in the
- primary graphics area when the command is executed. The prompting
- window contains an entry line in which the user's typed response
- is echoed. After typing in the appropriate value, the user should
- indicate that the entry is complete and correct by pressing <Enter>;
- this will cause the command to accept the typed in value for the given
- parameter. A prompting window may be cancelled at any time by pressing
- <Esc>; this aborts the command that caused the prompting window to
- appear.
-
- Prompts that accept character input - either key words or file names -
- are case insensitive; upper or lower case may be used as desired.
- Numeric values may be either integers or floating-point numbers
- depending upon the context of the command. If a floating-point number
- is appropriate, it may be entered with an optional decimal point and
- fractional digits and may include an optional decimal exponent in
- scientific notation.
-
- If the user's entry in a prompting window is invalid, an error message
- window will appear. Like all HYPERGEO message windows, it can be
- dismissed by pressing any key. All errors resulting from incorrect
- input to interactive parameter prompts are non-fatal; the program will
- continue running, ready for the next interactive command, once the
- message window is dismissed.
-
-
- HYPERGEO Version 1.1 Page D-4
-
-
-
- D.4 HYPERGEO Interactive Keyboard Commands
-
- The following is a list of all HYPERGEO interactive commands that can be
- entered from the keyboard while the program is displaying an active
- geometry:
-
-
- Keystroke: ?
-
- Use: Displays the on-line help screen. This screen contains a
- brief description of the interactive commands available
- within the HYPERGEO program (that is, the contents of this
- Appendix).
-
- The on-line help screen can be dismissed by pressing any
- key. This returns the program to the graphics state it was
- in prior to the '?' command.
-
-
- Keystroke: A
-
- Use: Selects the stereoscopic anaglyph mode of display.
-
- If the program is operating with monochrome graphics, the
- stereoscopic anaglyph display cannot be used; a message
- window will appear indicating this, and the current display
- mode will not be changed.
-
-
- HYPERGEO Version 1.1 Page D-5
-
-
-
- Keystroke: C
-
- Use: Accepts a new color specification for drawing the primary
- graphics.
-
- In most cases, this will be the single EGA color used to
- draw the edge outlines of the geometrical image being
- displayed. (The primary graphics color is also used for the
- transient data value fields within the HYPERGEO menu area.)
- The command accepts a value which is the name of one of the
- sixteen standard EGA colors:
-
- BLACK
- BLUE
- GREEN
- CYAN
- RED
- MAGENTA
- BROWN
- LIGHTGRAY
- DARKGRAY
- LIGHTBLUE
- LIGHTGREEN
- LIGHTCYAN
- LIGHTRED
- LIGHTMAGENTA
- YELLOW
- WHITE
-
- However, if solid display mode is currently active and the
- system has VGA color capability, the command will accept a
- new specification for the eight graduated shades of color to
- be used for solid surface rendering. The value to be
- entered is a red/green/blue number triple in the form of
- three integers in the range 0 to 63. This defines the
- lightest of the eight shades; the program will calculate
- seven additional, darker shades from this to create the full
- range required for realistic surface rendering.
-
-
- Keystroke: D
-
- Use: Accepts a new delta value that will be used to increment (or
- decrement) the W-value of the intersecting hyperplane. This
- delta value is used by the interactive command which
- performs a translation of the intersecting hyperplane on
- geometries being displayed via the 4-D intersection mode
- (see Page Up/Page Down below).
-
- The value entered is a positive floating-point number. It
- is in the units of the currently active geometry.
-
-
- HYPERGEO Version 1.1 Page D-6
-
-
-
- Keystroke: E
-
- Use: Accepts a new value for the eye-to-screen distance. This
- parameter is used in the generation of all 3-D to 2-D screen
- projections. Decreasing the eye-to-screen distance enhances
- the amount of apparent perspective in the display. For
- greatest realism, the eye-to-screen distance should be set
- to correspond to the true distance between the viewer's eyes
- and the screen.
-
- It is possible to set the eye-to-screen distance to any
- arbitrarily small positive value. However, it should never
- be made so small that the viewpoint appears to enter the
- object being displayed. This will result in distorted and
- meaningless graphics.
-
- The value entered is a positive floating-point number. It
- is in inches.
-
-
- Keystroke: F
-
- Use: Accepts the name of a new geometry definition file. The
- name may include a full DOS path specification. If no path
- is specified, the file is assumed to be in the current
- directory. If no extension is specified, the extension .GEO
- is assumed.
-
-
- Keystroke: G
-
- Use: Switches between the two modes of 4-D to 3-D geometry
- reduction: intersection and projection.
-
- Because hidden-line and solid displays cannot be used with
- 4-D to 3-D projections, if either of those two modes is in
- effect when the program switches from 4-D intersection to
- 4-D projection, perspective display mode is automatically
- selected.
-
- The G command is not applicable to three-dimensional
- geometric objects.
-
-
- Keystroke: H
-
- Use: Selects hidden-line display mode.
-
- If the current geometrical object is four-dimensional and
- the 4-D to 3-D reduction mode is projection, the hidden-line
- display cannot be used.
-
-
- HYPERGEO Version 1.1 Page D-7
-
-
-
- Keystroke: I
-
- Use: Displays the special HYPERGEO Information Window. This
- window contains a summary of the current object's topology,
- plus a number of related program parameters. For the
- topology, the window shows:
-
- * number of dimensions
- * number of vertex points
- * number of edges
- * number of faces
- * number of hyperfaces (4-D geometries only)
- * span (geometry units)
- * radius (geometry units)
-
- The "span" of an object is calculated by finding the minimum
- and maximum extents of the object in each of its three or
- four dimensions; the span is the largest difference between
- the minimum and maximum extents in a single dimension. The
- "radius" of an object is the greatest distance in
- (hyper)space of any vertex point from the origin.
-
- Additional parameters shown are:
-
- * screen height and width (inches)
- * horizontal and vertical pixels per inch
- * free memory (bytes)
-
- The HYPERGEO Information Window is an ordinary message
- window; it can be dismissed by striking any key.
-
-
- Keystroke: M
-
- Use: Toggles on and off the display of the HYPERGEO menu area.
-
- The menu area must be displayed to enable the use of the
- mouse for command selection.
-
-
- Keystroke: N
-
- Use: Toggles on and off the display of the name of the current
- geometry definition file.
-
- From time to time, interactive manipulations of the current
- object may cause the graphics of the displayed geometry to
- pass over the text of the geometry definition file name and
- partially or wholly erase it. The display of the file name
- can be restored by toggling it off and then on again using
- two 'N' commands in immediate succession.
-
-
- HYPERGEO Version 1.1 Page D-8
-
-
-
- Keystroke: O
-
- Use: Selects orthographic display mode.
-
-
- Keystroke: P
-
- Use: Selects perspective display mode.
-
-
- Keystroke: Q
-
- Use: Quits the HYPERGEO program and returns to DOS.
-
-
- Keystroke: R
-
- Use: Accepts a new value for the current display scale ratio. A
- smaller scale ratio increases the size of the image on the
- screen, while a larger scale ratio decreases it.
-
- The value entered is a positive floating-point number. Its
- units are geometry units per screen inch.
-
-
- Keystroke: S
-
- Use: Selects solid display mode.
-
- If the current geometrical object is four-dimensional and
- the 4-D to 3-D reduction mode is projection, the solid
- display mode cannot be used.
-
-
- Keystroke: T
-
- Use: Accepts a new value for the turn angle. The turn angle is
- the basic incremental angle used by each of the rotation
- commands. A large turn angle is useful for rapid
- manipulation of the geometrical object under study. Smaller
- angles can be used for fine positioning.
-
- The value entered is a positive floating-point number. Its
- units are degrees.
-
-
- HYPERGEO Version 1.1 Page D-9
-
-
-
- Keystroke: V
-
- Use: Toggles on and off the display of the unit axis vectors.
-
- Regardless of the setting of this toggle, the unit axis
- vectors are not displayed with hidden-line or solid display
- mode.
-
-
- Keystroke: W
-
- Use: Accepts a new value for the W-coordinate of the intersecting
- hyperplane used for 4-D to 3-D intersections. Repositioning
- the intersecting hyperplane at various W-coordinate values
- provides a means for examining the hypergeometrical
- structure of the current object.
-
- It is possible (indeed, easy) to assign a value to this
- parameter that causes the intersecting hyperplane to lie
- entirely outside the extents of the current object in
- hyperspace. This results in an empty display. The program
- has no feature for "finding" the object in hyperspace in
- such cases, so it behooves the user to remember the extents
- of the object. (This is no problem if the original geometry
- contains the origin point; then, setting the hyperplane's
- W-coordinate to zero will restore the display.)
-
- The value entered is a floating-point number. It is in
- geometry units.
-
- Note: This command has no apparent effect if the program is
- currently using the projection method of 4-D to 3-D image
- reduction. However, the next time intersection mode is
- entered, the modified W coordinate value of the intersecting
- hyperplane will be used.
-
-
- HYPERGEO Version 1.1 Page D-10
-
-
-
- Keystroke: X
- Y
- Z
-
- Use: Executes a three-dimensional rotation of the current 3-D
- image about the particular axis: X, Y, or Z. The size of
- the rotation is determined by the current turn angle.
-
- When the active geometry is four-dimensional, all 3-D
- rotations are transient and operate only on the immediate
- 3-D image which has been derived from the hyperobject's
- geometry via a 4-D to 3-D reduction using either projection
- or intersection. In this case, the program does not update
- the display of the unit axis vectors or the values shown in
- the menu's axis angle data fields during 3-D rotations.
-
- For three-dimensional geometries, however, 3-D rotations are
- permanent; the internal database is modified accordingly,
- and the unit axis vectors and the displayed values for the
- axis angles are updated with each 3-D rotation.
-
- By themselves, the X, Y, and Z keys produce a single
- incremental rotation in the positive direction. This effect
- can be altered by combining the keystroke with the
- simultaneous pressing of one of the standard keyboard
- modifier keys (for example, Shift-X is entered by pressing
- and holding down the Shift key, then pressing X):
-
- Shift - Reverses the direction of the rotation
-
- Ctrl - Automates continuous rotations in the positive
- direction. The rotations are performed as fast
- as the system's processing speed will allow. To
- stop the animation, press any key.
-
- Alt - Automates continuous rotations in the negative
- direction. The rotations are performed as fast
- as the system's processing speed will allow. To
- stop the animation, press any key.
-
-
- HYPERGEO Version 1.1 Page D-11
-
-
-
- Keystroke: F1
- F2
- F3
- F4
- F5
- F6
-
- Use: Executes a four-dimensional rotation of the current
- hyperobject's geometry in hyperspace. The six function keys
- F1 through F6 correspond to the six possible coordinate
- planes in which 4-D rotation may occur:
-
- F1 - YZ plane
- F2 - XW plane
- F3 - XZ plane
- F4 - YW plane
- F5 - XY plane
- F6 - ZW plane
-
- The size of the rotation is determined by the curent turn
- angle.
-
- After each 4-D rotation, the hyperobject's geometry is
- reduced to a 3-D image using the currently active method
- (intersection or projection), and the 3-D image is converted
- into a 2-D display on the computer's screen using the
- currently active display mode (orthographic, perspective,
- stereoscopic anaglyph, hidden-line, or solid).
-
- By themselves, the F1 through F6 keys produce a single
- incremental rotation in the positive direction. This effect
- can be altered by combining the keystroke with the
- simultaneous pressing of one of the standard keyboard
- modifier keys (for example, Shift-F1 is entered by pressing
- and holding down the Shift key, then pressing F1):
-
- Shift - Reverses the direction of the rotation
-
- Ctrl - Automates continuous rotations in the positive
- direction. The rotations are performed as fast
- as the system's processing speed will allow. To
- stop the animation, press any key.
-
- Alt - Automates continuous rotations in the negative
- direction. The rotations are performed as fast
- as the system's processing speed will allow. To
- stop the animation, press any key.
-
-
- HYPERGEO Version 1.1 Page D-12
-
-
-
- Keystroke: 3
- 4
-
- Use: Performs continuous automated random rotations. The
- keystroke '3' continuously executes the three 3-D rotations
- in a randomly determined order, and '4' randomly executes
- the six 4-D rotations. All rotations are in a positive
- angular direction with a size determined by the current turn
- angle. To stop the automation, press any key.
-
-
- Keystroke: Home
-
- Use: Restores the orientation of the current geometry as it
- existed when the geometry definition file was first read in.
- All axis angles are reset to zero degrees, and (for 4-D
- geometries) the W coordinate of the intersecting hyperplane
- is reset to its original value.
-
-
- Keystroke: End
-
- Use: Restores the current geometry to the orientation it was in
- prior to the most recent Home command (see above).
- Parameters reset include the axis angles and (for 4-D
- geometries) the W coordinate value of the intersecting
- hyperplane.
-
- If no Home command has yet been performed on the current
- geometry, the End command has no effect.
-
-
- Keystroke: +
- -
-
- Use: Performs a "zoom" operation on the visible image. The '+'
- command enlarges the graphical display, and the '-' command
- reduces it.
-
- These commands operate by changing the display scale ratio.
- The '+' command reduces the scale ratio by 10% of its
- current value, and the '-' command increases it by 10%.
-
-
- HYPERGEO Version 1.1 Page D-13
-
-
-
- Keystroke: Insert
- Delete
-
- Use: Alters the degree of perceived 3-D perspective for the
- currently displayed image. These commands operate by
- modifying the eye-to-screen distance. The Insert command
- increases apparent perspective; it moves the viewpoint in
- towards the object by reducing the eye-to-screen distance by
- 10% of its current value. The Delete command decreases the
- perspective effect; it moves the viewpoint away from the
- object by increasing the eye-to-screen distance by 10%.
-
- The eye-to-screen distance should not be reduced to the
- point that the viewpoint enters the 3-D geometry of the
- displayed image. This will result in distorted and
- meaningless graphics.
-
-
- Keystroke: Page Up
- Page Down
-
- Use: Performs a translation of the intersecting hyperplane. The
- hyperplane is moved along the W-axis in hyperspace. The
- size of the translation is determined by the value of the
- DELTA_W parameter. The Page Up command increments the W
- coordinate of the intersecting hyperplane by this delta
- amount, and the Page Down command decrements it.
-
- Note: This command has no apparent effect if the program is
- currently using the projection method of 4-D to 3-D image
- reduction. However, the next time intersection mode is
- entered, the modified W coordinate value of the intersecting
- hyperplane will be used.
-
- By themselves, the Page Up and Page Down commands perform a
- single incremental translation of the intersecting
- hyperplane. When combined with the simultaneous pressing of
- the Ctrl key, these keystrokes initiate the continuously
- automated motion of the hyperplane through the body of the
- current four-dimensional geometry. (For example, to enter
- Ctrl-Page Up, first press and hold down the Ctrl key, then
- press Page Up.) In automated mode, the direction of the
- hyperplane's motion is reversed each time it reaches an
- extreme edge of the hyperobject, that is, the point at which
- it ceases to intersect the hyperobject in hyperspace. Thus,
- the hyperplane, continues to move back and forth through the
- entire body of the hyperobject. The automated motion is
- stopped by pressing any key.
-
-
- HYPERGEO Version 1.1 Page D-14
-
-
-
- Keystroke: Arrow Keys: Left, Right, Up, Down
-
- Use: These keys move the position of the current graphical
- display on the screen.
-
- When a new geometry is read in, HYPERGEO automatically
- centers the display within the primary graphics area. The
- arrow keys may be used to reposition it as required by
- subsequent rotations or other interactive manipulations.
-
-
- HYPERGEO Version 1.1 Page E-1
-
-
-
-
- Appendix E. Running HYPERGEO under Microsoft Windows
-
-
- The program file supplied with HYPERGEO (HYPERGEO.EXE) is a standard DOS
- executable; it is not a special Windows program. However, it can be run
- under Windows using that system's ability to execute non-Windows DOS
- programs. Two files are supplied with HYPERGEO to assist in adding the
- program to the Windows Program Manager: an icon file (HYPERGEO.ICO), and
- a Program Information File (HYPERGEO.PIF).
-
- The procedure to follow to add a new program to a particular program
- group within the Program Manager is described in the Windows User's
- Guide in the section "Adding Program Items and Documents to a Group" in
- the Program Manager chapter (page 88 for Windows 3.0). Within the
- Program Item Properties dialog box that appears, the name of the
- HYPERGEO PIF file (including its DOS path) should be entered in the
- Command Line text box. You should also supply the name of the icon file
- by choosing the "Change Icon..." option from the Program Item Properties
- dialog box. Enter the icon file name (HYPERGEO.ICO) along with its full
- DOS path in the File Name text box within the Select Icon dialog box.
-
- One final step may be necessary to enable the running of HYPERGEO in
- Windows. The supplied PIF file has an entry which specifies the
- program's start-up directory. This initially contains the path
- specification C:\HYPERGEO. If you have installed HYPERGEO in a
- different directory, you will have to change this entry in the PIF to
- reflect the actual directory in which the program executable
- HYPERGEO.EXE exists. To modify a PIF you use the Windows PIF Editor.
- This is described fully in the Section "Working with PIFs and the PIF
- Editor" (page 444 for Windows 3.0) and subsequent sections in the
- chapter "More About Applications" in the Windows User's Guide.
-
- The PIF Editor also lets you specify any optional command line
- parameters you wish to pass to HYPERGEO each time it is executed.
-
- The PIF file as supplied will cause HYPERGEO to run as a full-screen DOS
- program.
-
-
- HYPERGEO Version 1.1 Page F-1
-
-
-
-
- Appendix F. Registration Form
-
-
- Stuart Esten
- 33 Banks Ave.
- Lexington MA 02173
- USA
-
-
- HYPERGEO Customer Registration Form
-
-
- Name and Address:
-
-
- ____________________________________________________________
-
-
- ____________________________________________________________
-
-
- ____________________________________________________________
-
-
- ____________________________________________________________
-
-
- Diskette size: 5-1/4" ( ) 3-1/2" ( )
-
-
-
- HYPERGEO - includes latest version of program
- and one pair of plastic 3-D glasses:
-
- _____ copies at $20 each = _____________
-
-
- Additional 3-D glasses: ______ pairs at $2 each = _____________
-
-
- Massachusetts residents add 5% state sales tax = _____________
-
-
- Shipment outside of U.S. and Canada add $5 = _____________
-
-
-
- Total = _____________
-
-
-
- For domestic orders payment should be via check payable to Stuart Esten.
- Foreign orders should use an International Money Order denominated in
- dollars. For either domestic or foreign orders cash is acceptable.
-
-
- (Please use the back of this form for any comments, suggestions, or
- criticisms you have concerning the HYPERGEO program.)
-